2011-06-21 8 views
0

主キーにbindValueを設定することをお勧めしますか?主キーのbindValueはどうですか?

プライマリキー値は、データベース結果からのものです。

注:GET/POSTクエリとリンクされていません。例えば

$SQL2 = "SELECT storeID FROM orders limit 1" 
$q = $db->prepare($SQL); 
$q->execute(); 
$row = $q->fetch(PDO::FETCH_ASSOC); 

$PrimaryKey = $row['storeID']; 

$SQL2 = "SELECT * FROM store WHERE storeID= :storeID" 
$q2 = $db->prepare($SQL); 
$q2->bindValue(":storeID", $PrimaryKey); 

答えて

2

これはもっと個人的な好みです。あなたは、結果のデータ型がPKまたは他のint値のような整数であることを、私はbindValueしないが、直接連結決して上記のような状況で、例えば中:

$sql = 'SELECT * FROM store WHERE storeID=' . $row['storeID'];

$result = $db->prepare($sql)->execute()->fetch(PDO::FETCH_ASSOC);

ただ、おそらくビットその短いと理由もっと早く。しかし、このような未熟なマイクロ最適化を気にしないでください。常にbindValueを使用すると、パフォーマンスにはまったく影響しません。しかし、それが連結されているようにあなたがきれいに見える場合、そのような状況にはセキュリティ上の欠陥はないので、それに行きましょう。

0

それはオーバーヘッドはい、それを使用していない考えます。 ?表記を使用すると、それを短くすることができます。

関連する問題