Попросите свой код повторить свой запрос, а затем протестируйте его как нечто вроде MySQL workbench или PHPMyAdmin.
Если вы ищете идентификатор, это будет точно. Вы хотите быть осторожным, используя LIKE в своих заявлениях. Например. Если кто-то ищет id = '1', он возвращает одну запись. id LIKE '% 1%' возвращает все записи, содержащие «1».
Это намного безопаснее. Тем более, что вы не делаете ничего с идентификатором в соответствии с вашим примером.
<?php
$query = "SELECT count(*) FROM record WHERE ID='$id'";
$count = mysql_result(mysql_query($query),0);
if($count > '0'){
echo "ID already exists<br>";
} else {
echo($query);
die();
}
?>
Я не проверял, но должно использовать что-то вроде этого или MySQLi заявление, но вы должны будете узнать, как закодировать в этом стиле.
<?php
try {
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$query = "SELECT count(*) FROM record WHERE ID='$id'";
//Checking for no results.
if(!empty($dbh->query($query))){
echo "ID already exists.";
} else {
echo "ID does not exist.";
}
$dbh = null;
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
?>
Ах да, и помните:
Предупреждение: Если ваше приложение не поймать исключение, брошенный из конструктору PDO, действие по умолчанию принимается ZEND двигателя является прекратить действие сценарий и отображение обратной трассировки. Эта обратная трассировка будет , вероятно, откроет полную информацию о соединении с базой данных, включая имя пользователя и пароль . Вы несете ответственность за это исключение либо явно (через инструкцию catch), либо неявно через set_exception_handler().
что значение $ ид? – Cooper
, поскольку, например, 5 не найден (и ваш LIMIT - это всего лишь чушь, потому что запрос будет - если когда-либо - вернется только одна строка.) – djot
Что такое *** полная ошибка ***? Что является результатом 'echo $ query?'? Прекратите использование функций 'mysql_'. – Kermit