2017-06-21 5 views
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を実行すると問題なく動作します。

+0

ユーザーがデータベースに対して実行権限を持っていないという問題がありました。 –

+0

ああ、その場合は、質問を削除するか、回答として投稿することができます。 – chris85

答えて

0

ユーザーがデータベースに対して実行権限を持っていないという問題がありました。

関連する問題