$agentid = pdo_fetchcolumn('select agentid from ' . tablename('shop_order') . ' where id=:id limit 1', array(
':id' => $orderid
));

这句mysql中的 id=:id 和 ':id' => $orderid是什么意思?

:id是占位符吗?
$orderid是传参?


回复讨论(解决方案)

sql 指令 select agentid from ' . tablename('shop_order') . ' where id=:id limit 1
中的 :id 是参数化表述的参数名

第二的参数 array(':id' => $orderid)
中的 :id 是只是将参数名 :id 用真实变量 $orderid 替换


sql 指令 select agentid from ' . tablename('shop_order') . ' where id=:id limit 1
中的 :id 是参数化表述的参数名

第二的参数 array(':id' => $orderid)
中的 :id 是只是将参数名 :id 用真实变量 $orderid 替换


这是不是只能在mysqli中使用?

mysqli、PDO 都可以

MySQL 本身是支持参数化查询的
但php_mysql 扩展不支持

09-18 17:39