問題タブ [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.

0 投票する
2 に答える
1703 参照

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表をご覧ください。

私は何かを見落としていますか、それとも単に奇妙な行動ですか?

0 投票する
3 に答える
9809 参照

php - mysqli-> multi_query()の使用方法は?

mysqli-> multi_query()を使用して、単一の接続で複数の更新/挿入クエリを実行する方法を教えてもらえますか?ありがとう。

PHPマニュアルのチュートリアルに従いました。しかし、私にはいくつかの問題があります。

私のクエリのバッチには、セミコロンで区切られた5つのステートメントがあります。

3番目のクエリを除いてすべてが実行されます。それは私が迷子になっているところです。3番目のクエリの挿入でSQLエラーが発生した場合、どうすれば取得できますか?そして、失敗した3番目のクエリの後のクエリはどのように実行されますか?

0 投票する
6 に答える
21347 参照

php - mysqli_multi_queryを実行して、最後のクエリの結果を使用する方法を理解できません

私はこれまでmysqli_multi_queryを使用したことがなく、頭がおかしくなりました。ネット上で見つけた例は、私が何をしたいのかを正確に理解するのに役立ちません。

これが私のコードです:

私がやろうとしているのは、複数のクエリを実行し、それらの4つのクエリの最終結果を使用して、それらをテーブルに配置することだけです。

上記のコードは実際にはまったく機能しません。次のエラーが発生します。

警告:mysqli_fetch_array()は、パラメーター1がmysqli_resultであると想定しています。ブール値は、391行目のC:\ xampp \ htdocs \ Hydroboard\hydro_reporting_2010.phpで指定されています。

何か助けはありますか?

0 投票する
1 に答える
963 参照

php - mysqli::multi_query が一定量の行の後に停止するのはなぜですか?

multi_query を使用して、テーブルに対してかなり大量の更新/挿入を実行しようとしています。合計で最大 14,000 のクエリがありますが、関数は最大 480 しか実行されず、エラーなしで停止し、PHP は以下のスニップを超えてスクリプトを続行します。

0 投票する
3 に答える
9978 参照

php - 「コマンドが同期していません。現在、このコマンドを実行できません」 - mysqli::multi_query が原因

複数の削除を実行していmysqli::multi_queryますが、次のクエリが台無しになっています。次のエラーがスローされています。

次のクエリを台無しにしないように、マルチクエリを何らかの方法でクリアする必要がありますか? このエラーの原因は何ですか?

そして、これは私がマルチクエリを実行している方法です:

Windows 7でXamppの最新バージョンを使用しています

0 投票する
1 に答える
2662 参照

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秒かかるため、関数をより高速に実行するためのヒントが必要です。

}

私が思いついたものは(常に機能しますが、私が言ったように遅いです)、それを改善するためのヒントはありますか?

0 投票する
3 に答える
6096 参照

php - PHP/mysqli - 準備済みステートメント (ループ内) または multi_query

PHP で mysql から mysqli 拡張機能を使用するようになりました。

同じことを行う 2 つの方法 (複数の更新クエリ) に遭遇しました。それぞれの長所と短所は何ですか? どちらかを使用する必要がありますか、それともまったく別のものを使用する必要がありますか?

ループ内の準備済みステートメント:

また

マルチクエリ:

プリペアド ステートメントの方がセキュリティが優れていることはわかっています。PHP で mysql を使用する場合、UPDATE ステートメントをループで使用しないようにするのが最善だと聞いたことがあります。

0 投票する
1 に答える
628 参照

mysqli-multi-query - MYSQLすべてのデータベースからtableXを選択します

50個のデータベースがあり、すべて同じスキーマを持ち、すべてテーブル「plays」があるとします。

すべてのデータベースからテーブル'plays'からすべてのデータを一度に選択する方法はありますか?

私が持っているデータベースの数がわからない場合、これを行う方法はありますか?

現在、私はこれを行います:

このためのコードを少なくする方法はありますか?

よろしく

0 投票する
3 に答える
17233 参照

mysqli-multi-query - 節間の複数のMySql WHERE

初心者の MySql プログラマー、忍耐に感謝します。

3 つの異なる条件が満たされているテーブルで Id 番号を追跡しようとしていますが、これは Iv が取得したものですが、クエリはテーブルに明確に一致する結果を返しません。考え?

これが機能するはずだと考えるのは理論的に正しいでしょうか?

0 投票する
1 に答える
788 参照

php - PHPmysqliマルチクエリの空の結果

mysqliマルチクエリを使用して、多数の個別のクエリで行うのではなく、1つの大きな一括でいくつかの挿入と更新を実行します。基本的に、エラーであり、PHP.netのドキュメントページで読んだ場合でも、結果は気にしません。 multi_query関数の場合、これを使用できます。

より多くのクエリを実行できるように、結果を確認します。しかし、ここでの問題は、;を置き換えると、その各ループの実行に永遠に時間がかかることのようです。それぞれecho "Next";の次のエコーの間に0.5秒のようなものがあります。

これをスピードアップしたり、結果などを空にしたりする方法はありますか?