【发布时间】:2012-03-07 22:23:24
【问题描述】:
我正在使用 PDO 访问我的数据库,并且我有两个存储过程。 现在,我执行调用程序,它工作正常,如下所示:
$q = $db->prepare("CALL sp1();");
$q->execute;
//parsing results here...
$q->closeCursor();
$q2 = $db->prepare("CALL sp2();");
$q2->execute;
///parsing results here...
我想同时调用两个程序准备,所以我尝试了类似的东西 -
$q = $db->prepare("CALL sp1(); CALL sp2()");
$q->execute;
但这只是调用和执行一个存储过程,而不是两者。 有没有办法同时使用和运行多个程序?
【问题讨论】:
-
底层 mysql 驱动程序不允许在单个查询调用中发出多个查询。这是防止某些形式的 SQL 注入的安全措施。即使您使用的是 PDO,这仍然适用。
-
真的,如果它们必须一起运行,最好的做法是创建另一个过程,在事务本身中调用它们。
标签: php mysql stored-procedures pdo