使用pdo执行存储过程

时间:2013-07-26 14:12:37

标签: php mysql stored-procedures pdo

我有一个存储过程调用updateLosingSelections

当我跑步时

 call updateLosingSelections 

直接在我的mysql数据库上发生预期的结果。

当我尝试从pdo运行它时,pdo没有任何反应,但同样没有抛出或显示的错误。我错过了一些明显的东西吗?这是我的php页面代码。

 <?php
session_start();
include_once('../connections/connection.php');
$sql_update_standings = 'call updateLosingSelections()';
$sth = $dbh->prepare($sql_update_standings);
$sth->execute();
 ?>

谢谢你们。 DS

编辑...最后,我已经把我的存储过程中的sql保存为pdo语句中的sql代码。撕掉我的头发对我不好。

1 个答案:

答案 0 :(得分:0)

我的第一个明显问题是,当你的updateLosingSelections()没有参数时,为什么要将$ data数组传递给execute()?

本质:

//turn this
$sth->execute($data);

//into this
$sth->execute();


//or if you want to do this
$sth->execute($data);

//then make sure to do this
session_start();
include_once('../connections/connection.php');
$sql_update_standings = 'call updateLosingSelections(?,?)'; //two question marks as placement holders
$sth = $dbh->prepare($sql_update_standings);
$sth->execute($data('somedata','moredata')); //two pieces of data which will replace the two ? marks above

我建议看看DB2文档,看起来非常相似。 http://pic.dhe.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=%2Fcom.ibm.swg.im.dbclient.php.doc%2Fdoc%2Ft0023502.html