Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Начало Помощь Поиск Войти Регистрация
Новости: Идет набор модераторов, если Вам интересна жизнь проекта - обращайтесь к администрации

Русский форум дистрибутива PC-BSD.  |  Веб  |  Программирование (Модератор: sys)  |  Тема: Ошибка при выполнении скрипта 0 Пользователей и 1 Гость смотрят эту тему. « предыдущая тема следующая тема »
Страниц: [1] Печать
Автор Тема: Ошибка при выполнении скрипта  (Прочитано 3937 раз)
a1ewka-gal4onok
Редактор
Гуру
*

Репутация: 78
Offline Offline

Пол: Мужской
Сообщений: 1662



Просмотр профиля
« : Апреля 16, 2012, 10:56:30 am »

Пишу один сайт по автомобильной тематике. Использую свои заготовки кода (их накопилось достаточное количество). Итак, парадокс. Код один и тот же, только изменяются поля базы данных, остальное - то же самое.

Суть части скрипта. Из базы данных нужно выбрать все характеристики автомобиля, при условии что известна её марка. Скрипт максимально упрощён, для удобства восприятия.

Код:
$query = mysql_query("SELECT cars_year_of_issue FROM $table_cars WHERE cars_name = $autoname");
while($row = mysql_fetch_array($query)) {
$year_of_issue = $row['cars_year_of_issue'];
echo("<div>$year_of_issue</div>");
}

Переменная $autoname приходит через $_GET и имеет вид, например, Toyota-Platz, Nissan-Note-2009, Nissan-Tiiada-Latio. Первичным является cars_id.

Возникает ошибка:
Цитировать
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /долгий/путь/до/сайта/cars.php on line 77

Поле cars_name содержит данные в формате TEXT, поле cars_year_of_issue - в INT (указывается год выпуска).
Где грабли  Huh  Sad
« Последнее редактирование: Апреля 19, 2012, 07:14:51 am от a1ewka-gal4onok » Записан
a1ewka-gal4onok
Редактор
Гуру
*

Репутация: 78
Offline Offline

Пол: Мужской
Сообщений: 1662



Просмотр профиля
« Ответ #1 : Апреля 16, 2012, 12:57:15 pm »

mysql_error() сообщает об ошибке Query was empty. Но запрос составлен правильно!
Записан
Alex5252
Участник
**

Репутация: 1
Offline Offline

Сообщений: 47


Просмотр профиля
« Ответ #2 : Апреля 17, 2012, 02:32:19 pm »

Код:
$query = mysql_query("SELECT cars_year_of_issue FROM $table_cars WHERE cars_name = $autoname");

необходимо заменить на:

Код:
$query = mysql_query("SELECT cars_year_of_issue FROM $table_cars WHERE cars_name = '$autoname'");

(здесь добавляются одинарные кавычки слева и справа от $autoname)
Записан
a1ewka-gal4onok
Редактор
Гуру
*

Репутация: 78
Offline Offline

Пол: Мужской
Сообщений: 1662



Просмотр профиля
« Ответ #3 : Апреля 19, 2012, 07:26:46 am »

Alex5252, та же самая ошибка возникает всё равно. Я и этот вариант ранее пробовал.
Поле cars_id является первичным ключом. Если делать выборку по нему, то всё работает верно. Но никак не могу понять из-за чего в моём случае выборка не делается, когда запрос написан правильно.
Записан
Страниц: [1] Печать 
Русский форум дистрибутива PC-BSD.  |  Веб  |  Программирование (Модератор: sys)  |  Тема: Ошибка при выполнении скрипта « предыдущая тема следующая тема »
Перейти в:  


Войти

Powered by MySQL Powered by PHP Powered by SMF 1.1.3 | SMF © 2006, Simple Machines LLC PC-BSD