【问题标题】:Call multiple Stored procedures with php PDO使用 php PDO 调用多个存储过程
【发布时间】: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


【解决方案1】:

一个查询只能运行一个存储过程。

如果您仍然只需要运行一个查询,我建议您编写另一个存储过程,它会一个接一个地调用它们。

【讨论】:

    猜你喜欢
    • 2017-08-09
    • 2019-05-11
    • 2014-09-07
    • 2013-03-21
    • 2014-07-07
    • 1970-01-01
    • 1970-01-01
    • 2012-08-03
    • 1970-01-01
    相关资源
    最近更新 更多