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,只是一個簡單的電話。請讓我知道是否需要更多信息。