1

これが私のコードです:

$sql1 = 'SELECT * FROM login WHERE age= "$age", town = "$town" and ID != "$id"';
$result1 = mysql_query($sql1);
$numResults1 = mysql_num_rows($result1);

私の変数は問題ありません。データが含まれています。エラーは次のとおりです。

警告: mysql_num_rows(): 指定された引数は有効な MySQL 結果リソースではありません.....

numResults が 0 になる可能性はありますが、それでもこれが発生することはありません。

それを引き起こしているのは最初の行の != でしょうか??

4

3 に答える 3

5

問題は、SQLクエリが正しくないことです。

$sql1 = 'SELECT * FROM login WHERE age= "$age", town = "$town" and ID != "$id"';

句の,age = "$age"の不適切な部分に注意してください。WHERE次のようになります。

$sql1 = "SELECT * FROM login WHERE age= '$age' AND town = '$town' and ID != '$id'";
于 2011-07-24T19:29:50.233 に答える
3

クエリに構文エラーがあります。$result1使用する前に確認してください。mysql_error()のときに印刷しFALSEます。何が問題なのかがわかります。

また、SQL クエリ文字列に一重引用符を使用すると、変数の補間が行われないことを意味します...そのため、行が返される可能性はほとんどありません。

于 2011-07-24T19:38:05.933 に答える
1

一重引用符と二重引用符が混同されています。すべての一重引用符を二重引用符にし、その逆も同様です。

エコー$sql1して、私が何を意味するかを確認してください

numResultsが0に等しくなる可能性がありますが、それでもこれを引き起こすことはありません。

いいえ。SQLに問題があることを意味します。

于 2011-07-24T19:29:57.680 に答える