1
我想調用我在MySQL中使用Slim框架創建的函數。 這是我在DBHandler.php功能:從Slim框架調用Mysql函數
public function validarSincronismo($pCnpj, $pLogin, $pImei){
$stmt = $this->conn->prepare("SELECT sincronizar(?,?,?)");
$stmt->bind_param("sss", $pCnpj, $pLogin, $pImei);
$result = $stmt->execute();
$stmt->close();
return $result;
}
這是我的index.php功能:
$app->post('/validar', function() use ($app) {
$db = new DbHandler();
$cnpj = $app->request->post('cnpj');
$login = $app->request->post('login');
$imei = $app->request->post('imei');
$msg = $db->validarSincronismo($cnpj, $login, $imei);
$response["error"] = false;
$response["message"] = $msg;
echoRespnse(201, $response);
});
而且我發現了以下錯誤在phperror.log
:
[17-Sep-2015 21:12:37 UTC] PHP Fatal error: Call to a member function execute() on boolean in C:\MAMP\htdocs\test\include\DbHandler.php on line 69
我試過使用CALL sincronizar(?,?,?);
但它不執行SQL函數。
嘿@Tiago,歡迎S.O.在數據庫中直接執行該查詢時,該查詢是否正確運行?你試過調試'$ stmt' var的內容嗎?您可以在聲明行之後添加'var_dump($ stmt)'來執行此操作。順便說一句,我假設你正在使用MySQLi,對嗎? –
sincronizar是函數,表或過程嗎? –
@NorbertvanNobelen'sincronizar()'是一個返回char(50)的函數。 –