1
对于涉及多个表的SQL查询,我该如何构造这样的PDO语句?如何在标记参数中使用句点以便PDO预处理语句?
因为这不起作用:
$stmt = $pdo -> prepare("UPDATE category, product
SET product.category_id = category.id,
product.xxx = :product.xxx,
category.yyy = :category.yyy
WHERE product.category_slug = category.slug
AND product.aaa = :product.aaa"
);
$stmt->execute(array(
'product.xxx' => '',
'category.yyy' => '',
'product.aaa' => ''
));
其中给出这些错误:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]:
Invalid parameter number: parameter was not defined'
PDOException: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
如何使这项工作? PDO似乎不允许标记参数中的点周期?我想我注定要下划线?
将':product.xxx'改为':product1'和'product.aaa'为':product2',然后绑定相应的值。相同'category.yyy' – 2014-10-07 11:33:30
@ V4KK4R,那么我想这是不可能的标记参数中使用点? – 2014-10-07 11:35:52
是不允许的。 – 2014-10-07 11:39:14