私は奇妙な問題を抱えています。なぜそれが機能していないのかについて少しは考えていません。 は私が構築し、次のクエリを持っている:MySQLクエリは以前は動作していましたが、今はそうではありませんか?
SELECT servers.id, servers.name, servers.address, servers.port, servers.up, servers.down, servers.genre, servers.score, servers.version, servers.country, ROUND(AVG(reviews.average) , 0) AS review
FROM servers
INNER JOIN reviews ON servers.id = reviews.server
ORDER BY servers.score DESC
このクエリは、数週間前に罰金働いていました。これは、 "servers"テーブルから多くのフィールドを取得し、 "reviews"テーブルのサーバが "servers"テーブルのidと同じである "reviews"テーブルの平均フィールドを取得することを意味します。
私が言ったように、このクエリは前にうまくいきました。昨日、サイトの重要な部分が機能していないことに気付きました。このクエリが失敗していることがわかりました。
「サーバ」テーブルに4つのエントリがあるため、現在のところ1行しか返されていないことを確認しました。 これは、実行時にphpMyAdminが私に与えるものですそのクエリ:
id name address port up down genre score version country review
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
誰か私を啓発できますか?私は最後の手段としてここに来ました、なぜなら私は立ち往生しているからです。
あなたがテーブルをチェックしていますか?バックエンドで何か問題が起きている可能性があります(テーブルにまだテーブルがあるかどうかを確認するためにワークベンチを使用します) –
'select * from servers'クエリを実行して、データが欠落していないかどうかを確認してください。 SQLインジェクション攻撃の被害を受けた可能性があります。 –
データが欠落していないことを100%確信しています.SQLインジェクションの機会をすべて無くしました。 'SELECT * FROM servers'は予想される行数を返しますが、この問合せではすべてのフィールドがNULLになります。 – fruitcup