无法使用php mysqli prepare语句

时间:2017-06-21 14:45:21

标签: php mysqli

我有一个SP名称UserRegister我使用php mysqli调用。不知怎的,它没有被调用(我没有得到任何数据) 以下是我的代码

$username = 'user1';
$password = 'password';
$deviceId = 'device_1';
$mysqli = new mysqli('localhost', 'MyUser', 'MyPassword', 'MyDatabase');
$call = $mysqli->prepare('CALL RegisterUser(?, ?, ?, @userToken, @status, @message)');
if (!$call)
{
    echo 'Prepare failed';
}
$call->bind_param('sss', $username, $password, $deviceId);
$call->execute();
$select = $mysqli->query('SELECT @userToken, @status, @message');
$result = $select->fetch_assoc();
echo $result['@userToken'];
//No result from above echo

//Did this to check if select works otherwise
$select = $mysqli->query('SELECT username from user');
$result = $select->fetch_assoc();
echo $result['username'];
//above echo display result correctly

我不确定使用mysqli进行SP调用时出错了。 从mysql workbench执行SP工作正常。

1 个答案:

答案 0 :(得分:0)

问题是用户没有数据库的执行权限。