mysql_query()
一意のクエリを送信します(複数のクエリはサポートされていません) これがデフォルトの動作ですが、これにはバイパスがあります。
ただし、最初のクエリの結果コードのみがmysql_query()
の出力として提供されます。 これを行う場合。
mysql_connectの5番目のパラメータとしてフラグ65536を渡す必要があります。フラグは、MySQLクライアントフラグ> 。
#define CLIENT_MULTI_STATEMENTS 65536 /* Enable/disable multi-stmt support */
#define CLIENT_MULTI_RESULTS 131072 /* Enable/disable multi-results */
したがって、mysql_connect()
を編集します これに一致するコード:
mysql_connect($host, $username, $password, false, 65536);
警告:
-
mysql_query($query)
の結果が表示されます 最初のクエリの場合のみ 指定された$query
内 。131072
を連結してみてください65536
を使用 複数の結果を得るため。 - これはPHP<4.3.0では機能しません
-
sql.safe_mode
の場合、これは機能しません php.iniでは1に設定されています
もう1つの方法は、mysqli
を使用することです。 mysql
の代わりに 図書館。 $mysqli->multi_query()
をサポートします クエリごとに配列内に出力を提供します。