0
我正在尝试使用PDO连接执行MySQL存储过程,我尝试了几乎所有内容,但无法执行它。从PHP调用MySql存储过程(PDO)
SP只会插入和更新。以下是我尝试到现在的代码。
$config = require('protected/config/main.php');
try
{
$db_adat = new PDO($config['components']['db']['connectionString'], $config['components'] ['db']['username'], $config['components']['db']['password']);
$result= $db_adat->prepare('CALL pdv()');
$a = $result->execute();
$a->fetchAll(PDO::FETCH_ASSOC);
我试过只取(),只有使用fetchall(),fetchObject(),以获取(PDO :: FETCH_ASSOC),与使用fetchall(\ PDO :: FETCH_ASSOC),但我总是得到以下错误
Fatal error: Call to a member function fetchAll() on a non-object in D:\ADAT_System\www\test\protected\controllers\ExportPDVController.php on line 35
我也尝试使用query()而不是execute(),但这也不起作用。
我也尝试在SP中添加(select *)语句并尝试使用上面的所有“获取”选项,但得到相同的错误。
SP需要7分钟才能完成,但都立即发生错误,所以我猜测它永远不会运行SP。
我试过如下太
$result= $this->$db_adat->prepare("CALL pdv()");
$result->execute();
,但我得到了以下错误:
Object of class PDO could not be converted to string
我不传递任何参数,SP,只是一个简单的电话。请让我知道是否需要更多信息。