問題タブ [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 投票する
1 に答える
667 参照

php - mysqlクエリはphpmyadminで機能しますが、mysqliでは機能しません

phpmyadmin では機能するが、php では機能しないクエリがあります ( mysqli)

問題はどこだ ?

クエリ:

エラー:

1)これにはphpを使用mysqli_multi_queryします

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

php - MYSQL NEIGHBOR ROWS と CURRENT ROW

present(id) 指定された条件とともに隣接行をフェッチする MYSQL クエリ

お気に入り

私はID 3(URLから取得できるdnsaddds)を使用しており、本を検索しました。次に、3 行目の行データと、検索されたテキスト (本) の前後の結果をフェッチする必要があります。

期待される結果は次のとおりです

ユニオンなどを使用しない単一のクエリを探しています。

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

php - 「コマンドが同期されていません。現在、このコマンドを実行できません」というエラーが表示される理由

タイトルに記載されているエラーのドキュメントには、

コマンドが同期していない場合。現在、クライアント コードでこのコマンドを実行することはできません。クライアント関数を間違った順序で呼び出しています。

これは、たとえば、mysql_use_result() を使用していて、mysql_free_result() を呼び出す前に新しいクエリを実行しようとした場合に発生する可能性があります。また、間に mysql_use_result() または mysql_store_result() を呼び出さずにデータを返す 2 つのクエリを実行しようとした場合にも発生する可能性があります。

ここから: http://dev.mysql.com/doc/refman/5.0/en/commands-out-of-sync.html

しかし、最初のクエリでは、mysql データベースからデータを取得していません。挿入しているだけです。2番目のクエリでは、データベースからデータを取得しています。

これが私のコードです

このステップまでは、すべて問題ありません。しかし、次のクエリを実行するとエラーが発生します

ここで Error が返されCommands out of sync; you can't run this command nowます。この状況が理解できない

注: クエリに問題があります。同じクエリを PHPMyAdmin に対して直接実行したところ、問題なく動作しました。

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

php - mysqli_store_result() は実際に何をしますか?

私はそれを理解したいですmysqli_store_result実際には何をしますか? のPHPマニュアルにアクセスしたmysqli_store_resultところ、定義が見つかりました

問題は、結果セットをどこに転送するかです。実際には"Commands out of sync; you can't run this command now"実行後にエラーが発生していましmysqli_multi_queryたが、次の方法を使用するとエラーがなくなりました。

さて、私はこれを使用する必要がmysqli_store_result($connection)ありmysqli_next_result($connection)ますmysqli_querymysqli_multi_query?

「mysqli_free_result() 関数を使用してクエリの結果によって使用されるメモリを解放することは常に良い習慣ですが、mysqli_store_result() を使用して大きな結果セットを転送する場合、これは特に重要になります。」

ソース: PHP: mysqli_store_result

もう1つの質問が発生します上記を実行すると、次のようなmysqli_multi_query($connection,$query);ステートメントが表示されecho 'storing result <br />'ます

$query には 2 つの INSERT クエリしかありませんでしたが、次の出力が得られました

これは、転送された結果セットが 4 つあったことを意味します。この状況が理解できません。最後の質問です。上記のdo whileプロセスはパフォーマンスに影響しますか?

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

php - PHP Mysqli multi_query とトリガーの区切り文字

PHP 内でデータベース作成スクリプトを実行する必要があります。multi_query を使用すると、トリガー区切り文字に問題が発生します。

これにより、次のようになり ます。SQL 構文にエラーがあります。'DELIMITER ;;' の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。CREATE TRIGGER tr_insert_testAFTER INSERT ON `test' at line 1

phpmyadmin内で同じスクリプトを試してみるとうまくいきます...理由を教えてください。ありがとう

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

php - PHP 配列と mysqli マルチクエリ

私は2つのことを理解しようとしています:

  1. 以下が可能な場合。
  2. 私がそれを実装する際に間違っていること。

手動でコード化された PHP の配列があります。

別のデータセットを戻す別のmysqliがありますmulti-queryマルチ クエリとエコー結果を反復処理するとき、上記で説明したように、手動でコーディングされた PHP 配列内にある情報を含める必要があります。現在のコードは次のとおりです。

$nmysqli クエリが結果をループするにつれて増加するポインターが$q[$n]あり、PHP クエリから関連データを取得しようとしていますが、機能しません。ただし、奇妙なのは、に変更$q[1] = 'Monday';してから、エコーステートメントで$q = 'Monday';参照することです-それは機能します!!!$q

また、参照用に mysqli コードを以下に含めました。

どこが間違っているかについての考え、アイデア、提案はありますか?

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

php - mysql データベース ソーシャル ネットワーク サイトからの投稿を再リクエストする

私はソーシャルネットワークのウェブサイトプロジェクトに取り組んでいます。データベースとすべてを作成しました。投稿テーブルには、preference投稿がユーザーから取得した高評価とコメント、および投稿が作成された時間に応じて、好みの値を格納する列があります。posts テーブルからユーザーのホームページの投稿を取得するために、preferencecolumn を使用して並べ替える結合を使用してクエリを実行しています。ここで、投稿テーブルに表示されるユーザーの 10 件の投稿を取得し、ユーザーが下にスクロールして、次の 10 件の投稿をサーバーに取得するようにユーザーからもう 1 つの要求が行われたとします。

これらのリクエストの間に他のユーザーがほとんど新しい投稿を作成しない場合、またはその間にデータベース内の投稿の設定値が変更された場合、サーバーで 2 番目のリクエストが実行されると、すべての投稿が 2 番目のリクエストに再分類されます (つまり、次の 10 件の投稿を表示します)。ただし、データベースが更新されるため、2 番目のリクエストでは、以前の 10 件の投稿のほとんどが 2 番目のリクエストで取得される可能性が高くなります。

これらの重複したリクエストを回避する方法を知りたいです。データベースが動的な場合、Facebook やその他のソーシャル ネットワークがバックエンドでこの問題をどのように解決するか。

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

mysql - mysql time_zone が使用されていませんか?

テーブルのエントリをアテネのタイムゾーンに挿入または更新しようとしています。共有ホスティングを使用しているため、グローバル サーバーのタイムゾーンを設定できません。

この複数のクエリを実行すると:

目的のアテネ時間を取得しますが、次のようなものを実行すると:

更新されたエントリに設定された時間は、サーバーの時間のままです! なぜこれが起こっているのですか?どうすれば修正できますか?