sql >> データベース >  >> RDS >> Mysql

PDOクラスの拡張

    $dsnはデータソース名です。ホスト名を処理します。次のように使用します:

    $dsn = 'mysql:dbname=YOUR_DB_NAME;host=YOUR_HOSTNAME'
    

    $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);という行を使用します。 エラーが発生したときに発生する例外を設定したので(私はこれが好きです)、拡張クラスでは例外ハンドラーでエラーを処理できます。拡張PDOクラスにgetAssocというメソッドがある場合、次のようになります。

    /// Get an associative array of results for the sql.
    public function getAssoc($sql, $params=array())
    {
       try
       {
          $stmt = $this->prepare($sql);
          $params = is_array($params) ? $params : array($params);
          $stmt->execute($params);
    
          return $stmt->fetchAll(PDO::FETCH_ASSOC);
       }
       catch (Exception $e)
       {
          // Echo the error or Re-throw it to catch it higher up where you have more
          // information on where it occurred in your program.
          // e.g echo 'Error: ' . $e->getMessage(); 
    
          throw new Exception(
                __METHOD__ . 'Exception Raised for sql: ' . var_export($sql, true) .
                ' Params: ' . var_export($params, true) .
                ' Error_Info: ' . var_export($this->errorInfo(), true),
                0,
                $e);
       }
    }
    


    1. 一意のmysqlインデックスからの最新の日時

    2. mysqlにログインし、Linuxターミナルからデータベースにクエリを実行する方法

    3. MySQLでユーザーごとに最大3つのアイテムを選択するにはどうすればよいですか?

    4. T-SQL動的ピボット