проблема с mysql_num_rows - PullRequest
1 голос
/ 24 июля 2011

Вот мой код:

$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, но это все равно не должно вызывать это.

Может ли это быть! = в первой строке, которая вызывает это ??

Ответы [ 3 ]

5 голосов
/ 24 июля 2011

Проблема в том, что у вас неверный 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'";
3 голосов
/ 24 июля 2011

Ваш запрос имеет синтаксическую ошибку.Проверьте $result1, прежде чем пытаться его использовать;выведите mysql_error(), когда FALSE.Вам сообщат, в чем проблема.

Кроме того, использование одинарных кавычек для строки запроса SQL означает, что интерполяция переменных не произойдет ... поэтому вы вряд ли когда-либо получите возвращенные строки.*

1 голос
/ 24 июля 2011

Вы перепутали свои одинарные и двойные кавычки.Сделайте все одинарные кавычки двойными кавычками и наоборот.

Попробуйте повторить $sql1, чтобы понять, что я имею в виду

Существует вероятность того, что numResults может быть равно 0, но все равно не должноэто.

Нет.Это означает, что у вас есть проблемы с вашим SQL.

...