Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте)Я не могу выполнить SQL-запрос на определение нахождения рисунка в базе данных.То есть мне надо выяснить имеется ли в определенном столбце фотография.Вот код:
// Формируем SQL-запрос
$query = "SELECT image_name FROM executors WHERE executor_id LIKE 1";
// Выполняем SQL-запрос
$result = mysql_query($query);
// Проверяем успешность выполнения SQL-запроса
if(!$result)
{
echo"Фотографии нет";
}
else
{
echo"Имеется фотография";
}
Вместо выборки всегда,независимо от номера executor_id выводится: Имеется фотография.
Неактивен
А чему Вы удивляетесь? Запрос всегда отрабатывает, хотя иногда и пустой
http://ru2.php.net/manual/ru/function.m … m-rows.php - вот это Вас спасет.
Неактивен
Здесь некорректно составлен код.
Такое условие проверяет не наличие фотографии, а успешность выполнения запроса (т.е. что запрос без ошибок, есть соединение с сервером и т.п.)
Сказать. есть ли фотография, отсюда совершенно нельзя.
Чтобы получить executor_id, нужен примерно такой код:
$query = "SELECT image_name FROM executors WHERE executor_id LIKE 1";
$result = mysql_query($query);
if(!$result)
{
echo"Ошибка!<br/>".mysql_error();
}
else
{
if ($row = mysql_fetch_row($result))
//
echo $row['executor_id'];
else
echo "Фотографии нет";
}
Неактивен
Не понял где Вы передаете параметр executor_id.
Приведенный Вами запрос всегда выбирает запись с executor_id = 1.
Неактивен
Кстати, да (а я и не заметил)
Неактивен
Я попробовал немного переделать ваш код под себя,но он работает лишь в случае,когда пользователя с нужным id не существует.А когда такой пользователь существует,но у него нет фотографии все равно выводится:Фотография есть.
$ex=1; $query = "SELECT image_name FROM executors WHERE executor_id LIKE $ex"; $result = mysql_query($query); if(!$result) { echo"Ошибка!<br/>".mysql_error(); } else { if ($row = mysql_fetch_row($result)) // echo "Фотография есть"; else echo "Фотографии нет"; }
Неактивен
Во-первых, Вы код перепутали (мой немножко другой - посмотрите повнимательнее).
Во-вторых, как уже сказал paulus, у Вас всегда выбирается запись с executor_id = 1, т.к. Вы переменной $ex присвоили значение 1.
Неактивен
вместо echo "Фотография есть";
нужно if($row["image_name"]) echo "Фотография есть";
Неактивен
Значение переменной $ex я меняю по своему усмитрению,в далнейшем этот параметр будет передаваться через запрос.В вашем коде я просто не понял что означает запись:echo $row['executor_id']; И к тому же она у м6еня не стала работать)
Неактивен
Стоп стоп стоп. Подумайте еще раз, что Вы выводите. Вы выводите "есть ли
пользователь like 1". Давайте решим, что столбцы Вы назвали правильно - и
тогда все встанет на свои места:
$ex=1; $query = "SELECT image_name FROM executors WHERE executor_id=$ex"; $result = mysql_query($query); if(!$result) { echo"Ошибка!<br/>".mysql_error(); } else { if ($row = mysql_fetch_assoc($result)) { if ($row['image_name'] != '') { echo "Фото есть"; } else { echo "Фото нет"; } } else { echo "Пользователя нет"; } }
Неактивен
Бальшое спасиба)Все прекрасно работает)
Неактивен