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)的函数。 –