問題タブ [mysqli-multi-query]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 複数の挿入で mysqli_multi_query が失敗する
こんにちは、次の問題があります。
mysqli_multi_query 関数を使用していくつかの INSERT INTO クエリを実行しようとすると、どれも実行されず、標準の「SQL 構文にエラーがあります」というエラーが表示されますが、関数に渡した文字列とまったく同じ文字列を取得すると、 PHPMyAdmin に貼り付けて実行すると、問題なく動作します。
実行しようとしているクエリは次のとおりです。
これらは、セミコロンの後にスペースで区切られた単一の文字列です。
コードで行うことは次のとおりです。
このコードを実行すると、次のようになります。
SQL 構文にエラーがあります。near 'INSERT INTO production VALUES( 120, 107, 5, 1, 0 ); を使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。INSERT INTO production VALUE' の 1 行目
string(210) "INSERT INTO production VALUES( 120, 103, 10, 0, 0 ); INSERT INTO production VALUES( 120, 107, 5, 1, 0 ); INSERT INTO production VALUES( 120, 106, 7, 2, 0 ); INSERT INTO production VALUES( 120, 103, 20, 0, 1 ); "
bool(偽)
この動作を自分でテストしたい場合は、次のproduction
表をご覧ください。
私は何かを見落としていますか、それとも単に奇妙な行動ですか?
php - mysqli-> multi_query()の使用方法は?
mysqli-> multi_query()を使用して、単一の接続で複数の更新/挿入クエリを実行する方法を教えてもらえますか?ありがとう。
PHPマニュアルのチュートリアルに従いました。しかし、私にはいくつかの問題があります。
私のクエリのバッチには、セミコロンで区切られた5つのステートメントがあります。
3番目のクエリを除いてすべてが実行されます。それは私が迷子になっているところです。3番目のクエリの挿入でSQLエラーが発生した場合、どうすれば取得できますか?そして、失敗した3番目のクエリの後のクエリはどのように実行されますか?
php - mysqli_multi_queryを実行して、最後のクエリの結果を使用する方法を理解できません
私はこれまでmysqli_multi_queryを使用したことがなく、頭がおかしくなりました。ネット上で見つけた例は、私が何をしたいのかを正確に理解するのに役立ちません。
これが私のコードです:
私がやろうとしているのは、複数のクエリを実行し、それらの4つのクエリの最終結果を使用して、それらをテーブルに配置することだけです。
上記のコードは実際にはまったく機能しません。次のエラーが発生します。
警告:mysqli_fetch_array()は、パラメーター1がmysqli_resultであると想定しています。ブール値は、391行目のC:\ xampp \ htdocs \ Hydroboard\hydro_reporting_2010.phpで指定されています。
何か助けはありますか?
php - mysqli::multi_query が一定量の行の後に停止するのはなぜですか?
multi_query を使用して、テーブルに対してかなり大量の更新/挿入を実行しようとしています。合計で最大 14,000 のクエリがありますが、関数は最大 480 しか実行されず、エラーなしで停止し、PHP は以下のスニップを超えてスクリプトを続行します。
php - 「コマンドが同期していません。現在、このコマンドを実行できません」 - mysqli::multi_query が原因
複数の削除を実行していmysqli::multi_query
ますが、次のクエリが台無しになっています。次のエラーがスローされています。
次のクエリを台無しにしないように、マルチクエリを何らかの方法でクリアする必要がありますか? このエラーの原因は何ですか?
そして、これは私がマルチクエリを実行している方法です:
Windows 7でXamppの最新バージョンを使用しています
php - PHPmysqli_multi_queryの大きな挿入の問題
テキストファイルから解析された大量のデータを挿入するために、さまざまな方法を試しました(サーバーでは、約2秒で200,000行のテキストが配列に解析されるため、一部が問題ではないことがわかります)。私が使用しているmysqli_multi_queryは、5,000のブロックでクエリを送信します(multi_queryを複数回使用したい場合は、何らかの理由でそれ以上のクエリを拒否します)。または、テキストファイルを50,000行に分割すると、すべてを挿入できます。 2秒で一度に。それを行うと、別のクエリの実行を拒否します((mysqli_more_results($ db)&& mysqli_next_result($ db));結果をクリアするために必要なことを読みましたが、5,000分割されたものに対してはそれがあります)
50,000挿入1は2秒で実行され、5,000挿入1(50,000行のうち)は40秒かかります。foreachで新しいmysqli接続を作成したいのですが(50,000挿入の場合)、常にそうとは限りません。仕事...
読み取っているファイルに数十万、場合によっては数百万の行が含まれている可能性がある場合、50,000をすべて挿入するのに40秒かかるため、関数をより高速に実行するためのヒントが必要です。
}
私が思いついたものは(常に機能しますが、私が言ったように遅いです)、それを改善するためのヒントはありますか?
php - PHP/mysqli - 準備済みステートメント (ループ内) または multi_query
PHP で mysql から mysqli 拡張機能を使用するようになりました。
同じことを行う 2 つの方法 (複数の更新クエリ) に遭遇しました。それぞれの長所と短所は何ですか? どちらかを使用する必要がありますか、それともまったく別のものを使用する必要がありますか?
ループ内の準備済みステートメント:
また
マルチクエリ:
プリペアド ステートメントの方がセキュリティが優れていることはわかっています。PHP で mysql を使用する場合、UPDATE ステートメントをループで使用しないようにするのが最善だと聞いたことがあります。
mysqli-multi-query - MYSQLすべてのデータベースからtableXを選択します
50個のデータベースがあり、すべて同じスキーマを持ち、すべてテーブル「plays」があるとします。
すべてのデータベースからテーブル'plays'からすべてのデータを一度に選択する方法はありますか?
私が持っているデータベースの数がわからない場合、これを行う方法はありますか?
現在、私はこれを行います:
このためのコードを少なくする方法はありますか?
よろしく
mysqli-multi-query - 節間の複数のMySql WHERE
初心者の MySql プログラマー、忍耐に感謝します。
3 つの異なる条件が満たされているテーブルで Id 番号を追跡しようとしていますが、これは Iv が取得したものですが、クエリはテーブルに明確に一致する結果を返しません。考え?
これが機能するはずだと考えるのは理論的に正しいでしょうか?
php - PHPmysqliマルチクエリの空の結果
mysqliマルチクエリを使用して、多数の個別のクエリで行うのではなく、1つの大きな一括でいくつかの挿入と更新を実行します。基本的に、エラーであり、PHP.netのドキュメントページで読んだ場合でも、結果は気にしません。 multi_query関数の場合、これを使用できます。
より多くのクエリを実行できるように、結果を確認します。しかし、ここでの問題は、;を置き換えると、その各ループの実行に永遠に時間がかかることのようです。それぞれecho "Next";
の次のエコーの間に0.5秒のようなものがあります。
これをスピードアップしたり、結果などを空にしたりする方法はありますか?