PDOオペレーション

1965 ワード

基本的な構成と使用
データベースの接続
$dsn = 'mysql::host=localhost;post=3306;charset=utf8;dbname=db1';
$pdo = new PDO($dsn,'root','123456');

追加削除操作
$re = $pdo->exec('insert into table values("xxxx")');

クエリー操作
$pdostatement = $pdo->query($sql);

pdo
//              ,     
$pdostatement -> fetch(PDO::FETCH_ASSOC);
$pdostatement -> fetch(PDO::FETCH_ASSOC);

//            ,     
$pdostatement -> fetch(PDO::FETCH_NUM);
$pdostatement -> fetch(PDO::FETCH_NUM);

//                  ,     
$pdostatement -> fetch(PDO::FETCH_BOTH);
$pdostatement -> fetch(PDO::FETCH_BOTH);

//             ,     (       )
$pdostatement -> fetch(PDO::FETCH_OBJ);
$pdostatement -> fetch(PDO::FETCH_OBJ);
//     
$PDOStatement -> fetchObject();

//                         
$pdostatement -> fetchAll();

//         
$pdostatement -> rowCount();

//         
$pdostatement -> columnCount();

PDO実装トランザクション

pdo
//     
$pdo -> beginTransaction();
//     
$pdo -> commit();
//     
$pdo -> rollBack();

プリプロセッシング技術
$sql = 'insert into table values(:title,:content)';
$pdostatement = $pdo -> prepare($sql);
$data = array(':title' => '  ', ':content' => '  ' );
$pdostatement -> execute($data);

PDOにおける異常処理
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
try{
    $sql = "insert into cz_usddddder (name, pwd) values ('  ', '445566')";
    $re = $pdo->exec($sql);
}catch(PDOException $aa){
    echo '    :' . $aa->getMessage() . '
'; echo ' :' . $aa->getCode() . '
'; echo ' :' . $aa->getFile() . '
'; echo ' :' . $aa->getLine() . '
'; }