web-dev-qa-db-ja.com

コマンドが同期していません。現在、このコマンドは実行できません

数日前に正常に機能していたクエリがあります。

SELECT
    id, title, details, filetype, filepath, size, details, location, datetime, 
    IF(hid=1, 'Anonymous',
        (
            SELECT name 
            FROM users 
            WHERE did = userid
        ))
    AS username 
FROM infotable 
WHERE ext2!='0' 
ORDER BY id DESC 
LIMIT 50

しかし、数日前にエラーが発生し始めました。

コマンドが同期していません。現在、このコマンドは実行できません

私はそれをphpページから呼び出していますが、MySQLのGUIからSQLクエリとして実行することも試みました。同じエラーが発生しました:

enter image description here

グーグルで検索したところ、MySQLからMySQLiへのアップデートが原因である可能性があることがわかりました。 MySQLiを使用して別のクエリを作成するために多くのことを試みましたが、エラーが発生するたびに(同じエラーが発生することもあれば、他のエラーが発生することもあります)。

私の質問は:

1。これが何と呼ばれるか:Sub QueryまたはMulti Query

2。正確なエラーとその解決策は何ですか?

1
SJSSoft

私はこのスタックオーバーフローの質問があなたのクエリに関連していると思います:

PHPコマンドの非同期エラー

結果が別の呼び出しの前に完全にフェッチされないためです。 PHP docsもこれを読む解決策があります:

http://www.php.net/manual/en/mysqli.query.php#102904

1
Nidhin David

まだ興味があるかもしれない人のために、私は自分でこの問題に遭遇し、テーブルが突然このエラーを出し始めました。テーブルでCHECKを実行すると、エラーがあり、クラッシュしたことが示されました。テーブルでREPAIRを実行するとエラーが修正され、自分のクエリで「コマンドが同期していません」というエラーが表示されなくなりました。

0
Chris