0
私はphp mysqliを使用して呼び出すSPの名前UserRegisterを持っています。 以下は、私はmysqliのを使用してSPの呼び出しで間違ったつもりだところ、私はわからない私のコードPHP mysqli prepareステートメントを使用してmysqlストアプロシージャを呼び出すことができません
$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
でどういうわけか、それは呼び出さ取得されていない(私は戻って、任意のデータを取得しておりません)。 mysql workbenchからSPを実行すると問題なく動作します。
ユーザーがデータベースに対して実行権限を持っていないという問題がありました。 –
ああ、その場合は、質問を削除するか、回答として投稿することができます。 – chris85