ホームページ > バックエンド開発 > PHPチュートリアル > php による mysql ストアド プロシージャの呼び出しに関連する問題

php による mysql ストアド プロシージャの呼び出しに関連する問題

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-13 12:37:34
オリジナル
889 人が閲覧しました

php による mysql ストアド プロシージャの呼び出しに関する問題
ストアド プロシージャを一度呼び出してから他のクエリを実行すると、エラーが発生するのはなぜですか?
------------------------
PHP で mysql ストアド プロシージャを呼び出してテーブル内のすべてのデータをクエリし、通常どおり結果を取得したいと考えています。
他のクエリをすぐに実行すると、どのステートメントが使用されてもエラーが返されます。

これはストアド プロシージャです:
#shares テーブルのデータをクエリします
#call proc_show_shares('sendtime') // オブジェクトを並べ替えます
区切り文字 //
存在する場合はプロシージャを削除 proc_show_shares //
CREATE PROCEDURE proc_show_shares (sorttype varchar(15) 内)
開始
Set @sql = concat("select* from share order by ", sorttype," desc");
@sql;
から cmd を準備します EXECUTEcmd;
DEALLOCATEPREPARE cmd;
終わり//
区切り文字 ;

次のコードは正常に動作します:
$query = "proc_show_shares('sendtime') を呼び出します";
$results = mysql_query($query) //ストアド プロシージャを呼び出します
while($result_row = mysql_fetch_row($results))
{
//{コードスニペット}

$values[] = $result_row;
}
{コードセグメント} はコメントアウトされており、コメントを解除するとエラーが発生します。 コードスニペットは次のとおりです:
$result = mysql_query("id = 10001 のユーザーから名前を選択") または die('depend');
上記の SQL ステートメントは通常、単独で実行されます (もちろん結果はあります) が、一緒に接続すると 'fuck' が出力されます。

なぜ?
値を出力できますが、 mysql_query("select name from users where id = 10001") または die('Damn'); を追加すると機能しません。

データベースはすべてのプロセス中常に接続されています。

mysql php
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート