2011-06-28 15 views
1

クエリは次のとおりです。なぜSQLクエリはPHPMySQLAdminでは動作しますが、mysql_queryでは動作しませんか?

SELECT COUNT (*) FROM Production AS p LEFT OUTER JOIN Estimates ON 
p.EstId=Estimates.EstId WHERE p.DocketNumber=20227 

私はPHPMySQLAdminに文字通りこのクエリを入力すると、それが実行され、私に結果を提供します。このクエリをPHPコードに入力すると、エラーが表示されます。 *にCOUNTと角かっこを削除すると、クエリが実行されるため、データベースへの接続に問題はありません。

これはmysqlの問題で、countコマンドとの競合ですか?

EDIT:NVM

+3

エラーは何ですか? –

+1

あなたのPHPコードは何ですか? –

+3

COUNTと(*)の間のスペースを削除しても、エラー(正確にはどんなエラー?)が表示されますか? – Gryphius

答えて

1

が好きではありませんだってMySQLは何のスペースがないことを主張するCOUNT (*)を受け入れるかどうかのためかどうかのオプションがあります。このオプションは、データベース接続ごとに設定することができるので、phpMyAdmin接続とPHP接続の設定が異なる場合があります。

したがって、SELECT COUNT (*) ...は、SQLモードによってはエラーである可能性があります。 COUNTの後にスペースを入れないで、SELECT COUNT(*) ...を使用する方が正しい場合があります。

詳細はFunction Name Parsing and Resolutionを参照してください。

0

カウントとブラケット

select count(*) ... 

の間のスペースを削除し、その後、クエリはsyntactially正しく見えます。 phpmyadminとphpコードに正確にこのSQL文をコピーしたことは絶対に肯定的ですか?私の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 '*) from tablename LIMIT 0, 30' at line 1 
+0

いいえ、これは正しくありません。私はスペースを削除し、クエリはまだ実行されません。また、phpMyAdminではなく、PHPコードでエラーが発生しています – BlackSheep

関連する問題