sql >> Databáze >  >> RDS >> Mysql

Připojení k AWS RDS přes PDO

Nyní už kód funguje, i když docela frustrující jsem nikdy nepřišel na to, proč to vůbec nefungovalo! Mám podezření, že to mělo něco společného s tím, že jsem správně nezachytil číslo portu – možná někde došlo k překlepu, který byl „náhodou“ opraven (spíše než úmyslně), když jsem věci zkoušel. Tento kód nyní funguje (pouze pro 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. Použijte něco jako TOP s GROUP BY

  2. MySQL Row 30153 byl přerušen chybou GROUP_CONCAT().

  3. Aktualizujte statistiky SQL Server pomocí plánu údržby databáze

  4. Rozdíl mezi databázemi v paměti a databází diskové paměti