ホームページ >バックエンド開発 >PHPチュートリアル >PHP は MYSQL ストアド プロシージャを呼び出します

PHP は MYSQL ストアド プロシージャを呼び出します

WBOY
WBOYオリジナル
2016-06-13 13:36:451030ブラウズ

PHP はヘルプのために MYSQL ストアド プロシージャを呼び出します
エラー メッセージ:
警告: mysqli_fetch_array() はパラメータ 1 が mysqli_result であることを予期します。これは、D:RUIOAwebrootMyPHPNewstest.php の 37 行目で指定されたブール値です


PHP:
$conn = mysqli_connect("localhost","root","chen");
mysqli_select_db($conn,"test");
$result = mysqli_query($ conn ,"call list();"); ==============>ここを「select * from users;」に変更すると、データは通常どおり読み取られます
while($ row = mysqli_fetch_array ($result)){
echo $row[1]."  ".$row[2]."  ".$row[2]."
";
}
?>

Mysql:
CREATE PROCEDURE list()
BEGIN
select * from users;
END;



Mysqli と mysql を使用しており、SQL ステートメントの使用には問題ありませんが、ストアド プロシージャの呼び出しが機能しません

----- -解決策--- ------------------

$result = mysqli_query('select * from users', $conn);// $conn は mysql_connect の戻り値です (オプション)
------解決策---------
ストアド プロシージャとはどういう意味ですか...
------解決策----------------------
ストアド プロシージャのような高度なものを使用したことがありません。
------解決策-----
リストはデータベーステストに載っていませんか?テストは問題ありません
------解決策---------
php は MySQL ストアド プロシージャ メソッドのコレクションを呼び出します~
ポータル~

------解決策------------------
Rong フレームワークを探してください。Rong_Db_Driver_Mysqli::call があります。 ($sql) このメソッドはストアド プロシージャを呼び出すために使用されます。

------解決策------------------
エラー メッセージ $result は mysql リソースである必要があります。これはブール値

を返します。ステートメントの区切り文字に誤りがあるかどうかを確認してください。
------解決策---------

話し合う

また、ストアド プロシージャが追加、削除、または変更している場合は、正常に実行でき、データは正常に変更されますが、クエリが SELECT を返す限り、エラーが報告されることを付け加えておきます。
PROCEDURE test.sel は、指定されたコンテキストで結果セットを返すことができません

------解決策---------
mysqli 拡張機能がオンになっているかどうか確認しましたか?
------解決策----------------------
mysql エディターで、保存を実行します。プロセスで実行できるかどうかを確認しますか?次に、php
で呼び出してみます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。