1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

queryとprepareの使いわけ php

Posted at

#■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()
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?