0
テーブルと2つの出力を返すプロシージャ(PHPMyAdminツールを使用)を作成しました。私はPHPMyAdminのの「実行」ボタンで手順を実行する場合は、このクエリを送信します。MySQLストアドプロシージャとPHPMyAdmin
SET @p0 = '12';
SET @p1 = '1';
CALL `getPhoneReview` (@p0 , @p1 , @p2 , @p3);
SELECT @p2 AS `PhoneCount` , @p3 AS `ReviewCount`;
(テーブルと2つの出力)期待されているものを返します。しかし、その正確なコードをコピーしてSQLセクションから実行すると、最後の文だけが実行されます。
CALL `getPhoneReview` (@p0 , @p1 , @p2 , @p3)
これは何も返しません。
PHPで出力値を取得しようとしているときも同様です。私はこのコードを持っています:
$C = new MySQLi(...);
$Q = $C->query("CALL getPhoneReview(12, 1, @PhoneCount, @ReviewCount)");
/* Looping over $Q works fine */
$PhoneCount = $C->query("SELECT @PhoneCount AS PhC");
$PCO = $PhoneCount->fetch_object();
var_dump($PCO->PhC); /* Call to a member function fetch_object() on boolean */
誰か私を助けることができますか?
ループの後に$ C-> next_result()を追加すると問題が解決しました。ありがとうございました! – David103