PDOとは「PHP Data Objects」の略で、データベースへの接続やエラーの処理などを行う働きがあります。
では、どのようにしてPDOを使えばいいのでしょうか。
#MySQLへの接続
データベースに接続することは、MySQLへの接続も意味します。
そのときのコードの書き方は、次の通りです。
<?php
$todo = 'mysql:dbname=todo;host=localhost';
$user = 'yamada';
$password = 'yamada1111';
try{
$dbh = new PDO($todo, $user, $password);
print('接続に成功しました。<br>');
$dbh->query('SET NAMES sjis');
$sql = 'select * from shouhin';
foreach ($dbh->query($sql) as $row) {
print($row['id']);
print($row['name'].'<br>');
}
}catch (PDOException $e){
print('Error:'.$e->getMessage());
die();
}
$dbh = null;
?>
特に、PDOExceptionを記載することでPDO接続時で起こったエラーを表示してくれるので、大変便利なコードとなっています。
##queryメソッド
queryメソッドは、SQL文をデータベースに送って様々な処理を行うものです。
特に、即時実行するときや1回しか行わないときによく使われます。
そして、次のような書き方をします。
<?php
$dbh->query(’SQL文の記入’);
$sql = 'SELECT '名前', '年齢' WHERE 'ID' = $id';
$dbh->query($sql);
?>
###prepareメソッド
prepareメソッドは、同じテーブルに値を入れて何度もデータを入れる際に使う、とても効率の良いコードです。
書き方は、次の通りです。
<?php
$dbh->prepare("UPDATE NAMAE
SET '年齢' = ?
WHERE id = ?");
//実行するときは、excuteメソッドを用います。
$stmt = $dbh->prepare('SQL文');
$stmt->execute(array(20, 2));
?>
この他にも、PDOの使い方はたくさんあります。