2011-08-14 12 views
0

よりも小さくなっている行選択:MYSQL:フィールドは、これはPHPで私のMySQLのクエリである他の

mysql_query("SELECT * FROM tbl WHERE logins < limit") 

にmysql_affected_rows()は-1を返します。なぜこの単純なクエリは機能しませんか?フィールドとテーブル名は、私は二重のバッククォートを使用して列名を引用

+0

「mysql_error()」とは何ですか? – glglgl

+0

"...あなたのMySQLサーバのバージョンに対応するマニュアルをチェックし、正しい構文が1行目の 'limit'近くで使用されるようにしてください。" – thatoneguy

答えて

5

てみてくださいをチェックしました正しい:

mysql_query("SELECT * FROM tbl WHERE `logins` < `limit`") 

あなたは予約MySQLのキーワード(limit)と同じ列名を持っています。

+0

私は正しかったです。 :) –

+0

あなたはそれをニック!私はそれを答えに変えるだけの十分に幸運だった。ハーフポイントでニック・ルールズ! –

+0

問題ありません。こんにちは! ;) –

0

あなたはPHPマニュアルに従って、SELECTクエリにmysql_affected_rowsを使用することはできません。

にmysql_affected_rowsが

最後のINSERTによって影響を受ける行の数を取得し、UPDATE、REPLACEまたはDELETEクエリ

代わりにmysql_num_rowsを使用してください。

また、p.campbellが指摘しているように、予約済みの作業を列名として使用するため、「制限」列の名前を逆引用することを忘れないでください。

関連する問題