2011-06-21 63 views
0

建議在主鍵上綁定值嗎?主鍵上的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

考慮到這不是開銷是使用它。你可以用?表示法縮短它。