さて、これは奇妙で、SQLクエリに問題があるはずだと思っていますが、何も問題はありません。何が起こっているのかというと、ユーザーがサインアップしたすべてのカテゴリーと、同じカテゴリーにサインアップした他の人の数を取得するphpスクリプトで実行しているスクリプトがあります。PHPページでクエリを実行すると、非常に遅くなりますが、結果が返されます。何が起こっているのかを知りたかったので、phpmyadminにアクセスして同じスクリプトを実行すると、結果のカウントが非常に速く返されますが、通常は結果が表示される場所に次のエラーが表示されます。
#1064 - You have an error in your SQL syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near '' at line 1
クエリは次のとおりです。
SELECT t1.category_id, t3.description AS 'Category',
t1.list_type_id, t2.name, t1.status_id, t2.user_id,
t2.email, UNIX_TIMESTAMP( t1.record_date ) AS 'RecordDate',
(
SELECT COUNT( category_id )
FROM t1_sub
WHERE t1_sub = t1.job_ctg_id AND
t1_sub.list_type_id = t1.list_type_id AND
t1_sub.status_id =44
) AS 'MatchingListings'
FROM t1
INNER JOIN t2 ON t2.id_rfp_vendor_data = t1.user_id
INNER JOIN t3 ON t3.type_lookup_id = t1.job_ctg_id
WHERE t1.status_id =43
私は途方に暮れています。私の質問の理由は本当に2つあります:
- 私が見逃しているクエリに実際に何か問題がありますか?
- そうでない場合、エラーmysqlは、スクリプトの実行が遅く、そのphpがこれを回避する理由を示していますか?(これはありそうもない可能性のように思えますが、私は確認するように頼む必要があります)
ありがとう!