sql >> Database >  >> RDS >> Mysql

Verbinding maken met AWS RDS via PDO

Heb de code nu werkend gekregen, hoewel ik behoorlijk frustrerend nooit heb kunnen achterhalen waarom het in de eerste plaats niet werkte! Ik vermoed dat het iets te maken had met het niet goed oppikken van het poortnummer - misschien een typefout ergens die 'per ongeluk' werd gecorrigeerd (in plaats van opzettelijk) toen ik dingen uitprobeerde. Deze code werkt nu (alleen voor MySQL):

      $dsn = null;
      $options = null;
      $this->host = SYSTEM_CONFIG["database"]["host"];
      $this->type = SYSTEM_CONFIG["database"]["type"];
      $this->name = SYSTEM_CONFIG["database"]["name"];
      $this->user = SYSTEM_CONFIG["database"]["user"];
      $this->pass = SYSTEM_CONFIG["database"]["pass"];
      $this->port = SYSTEM_CONFIG["database"]["port"];

      switch ($this->type) {
         case "SQLSRV":
            // Other untested code...
            break;
         default: 
            $dsn = "mysql:host={$this->host};port={$this->port};dbname={$this->name};charset=utf8";
            $options = [
               PDO::ATTR_PERSISTENT => false,
               PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
               PDO::ATTR_EMULATE_PREPARES => false,
               PDO::ATTR_STRINGIFY_FETCHES => false
            ];
      }
      try {
         $this->pdo = new PDO($dsn, $this->user, $this->pass, $options);
      } catch (PDOException $e) {
         $this->logError($e);
      } catch (Exception $e) {
         $this->logError($e);
      }



  1. Hoe moet ik mijn sql wijzigen om in dit geval te krijgen wat ik wil?

  2. Hoe parameters te gebruiken in een 'where value in...'-clausule?

  3. Een databasedump maken voor specifieke tabellen en items Postgres

  4. Beste werkwijze voor databasestructuur voor stemmen op opmerkingen