Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在主键上绑定值?_Php_Mysql_Pdo_Bindvalue - Fatal编程技术网

Php 如何在主键上绑定值?

Php 如何在主键上绑定值?,php,mysql,pdo,bindvalue,Php,Mysql,Pdo,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

建议在主键上绑定值吗

主键值来自数据库结果

注意:它不与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);

考虑到这不是开销是的,使用它。您可以使用
符号将其缩短。

这更多是个人偏好。在上述情况下,当您确定结果的数据类型为整型(如PK或其他int值)时,我从不使用bindValue,而是直接连接,例如:

$sql='从storeID='的存储中选择*$行['storeID']

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

只是因为它比较短而且可能快一点。但是,不要为这种过早的微优化而烦恼,如果您一直使用bindValue,那么它根本不会影响您的性能。但是,如果将其连接起来看起来更干净,那么在这些情况下就没有安全缺陷,所以继续吧