#■queryとprepareとは
PHPからデータベースを操作する手順です。
①データベースに接続
②実行したいSQL文をセットする。
③SQLに対してパラメーターをセットする。
④実際にSQLを実行する。
⑤結果を取得する。
⑥データベースから切断する。
###▼PHPからデータベースを操作するには簡易版と詳細版がある。
#■簡易版にはqueryをつかう。
上記の②③④の手順を簡易的に一括で行えるのがquery。
▼使い分け
SQL文の中に変動値がない場合queryを使う。
//変動値がないSQL文 例
$sql = "SELECT * FROM テーブル名";
▼使い方
セットから実行まで一括で行なっている。
$dbh->query($sql);
#■詳細版にはprepareを使う。
上記の手順通り個別に行う。②③④に個別にメソッドが用意されている。
②prepareメソッド
③bindValueメソッド
④executeメソッド
▼使い分け
SQL文の中に変動値がある場合prepareを使う。
プレースホルダを使用する際と同じ時に使う前記事で紹介。
//変動値があるSQL文(プレースホルダ使用) 例
$sql = "SELECT * FROM テーブル名 WHERE name= :name";
▼使いかた
②③④を個別に行う。
③のbindValueに関してはプレースホルダを使用するのに必要なメソッド
//②実行したいSQL文をセット
$stmt = $dbh->prepare($sql);
//③SQLに対してパラメーターをセット(プレースホルダを使用するのに必要な手順)
$stmt->bindValue(':name',$name,PDO::PARAM_STR);
//④SQL文の実行
$stmt->execute()