タイトル: SQL実行方法
以下の説明はDB抽象化レイヤPDOの使用を前提とする。
PDOオブジェクトのprepareメソッドの引数としてSQLを渡し、生成したステートメントのexecuteメソッドを呼ぶことでSQLを実行できる。
SQL文はプレイスホルダ化することも可能である。
Select文の場合は結果セットに対して1レコードずつフェッチする。
カラムは $フェッチで取り出した行[カラム名] と指定して取得する。
以下、Insert文とSelect文の実行を例として挙げる。
【例-】
try{
/*
* DB接続
*/
//DB接続情報
$dsn = 'mysql:host=127.0.0.1; port=3306; dbname=test';
//ユーザ名
$username = 'root';
//パスワード
$password = '9999';
//PDOオブジェクトを生成
$pdo = new PDO($dsn, $username, $password);
/*
* SQL実行
*/
//Select文
$selectStatement = 'SELECT * FROM test_table WHERE delete_flag = :delete_flag';
//PDO Statementオブジェクトを生成(Select文)
$pdoSelectStatement = $pdo->prepare($selectStatement);
//SELECT文のプレイスホルダに対して値を代入する
$pdoSelectStatement ->bindValue(':delete_flag', '0', PDO::PARAM_STR);
//Select文実行
$pdoSelectStatement->execute();
//Select文の結果を出力
while($row = $pdoSelectStatement->fetch(PDO::FETCH_ASSOC)) {
print 'id = ';
print $row['id'];
print "
";
print 'name = ';
print $row['name'];
}
} catch (Exception $ex) {
print $ex->getMessage();
}