Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Тупой вопрос про запрос к БД
Форумы портала PHP.SU » PHP » Программирование на PHP » Тупой вопрос про запрос к БД

Страниц (1): [1]
 

1. carakurt - 29 Июня, 2009 - 20:48:31 - перейти к сообщению
Друзья, простите за тупейший вопрос, но, сами понимаете, что в процессе обучения они неизбежны. Так вот, предположим в БД есть таблица YABLOKI состоящая из 2-х столбцов SIZE и COLOR. Причем заполнена она кириллицей и яблоки в ней большие, маленькие, средние, красные, зеленые и желтые. Все это намешано и перемешано. Ну и, собственно, сам вопрос: выбрать из этой таблицы все зеленые яблоки я смогу только добавив столбец COLOR_ID и присвоив, например, зеленому 1. Тогда, допустим, $a=1 и SELECT * FROM YABLOKI WHERE COLOR = $a? Я это к тому, что невозможно сделать так: $a="зеленый" и ...WHERE COLOR = $a? Да?
2. valenok - 29 Июня, 2009 - 21:17:13 - перейти к сообщению
Почему невозможно. Возможно если в столбце colors так и написано "зеленый"
3. carakurt - 29 Июня, 2009 - 21:27:17 - перейти к сообщению
valenok у меня, почему-то не получается. Не создается массив из такого запроса, т.к. пишет про недопустимый аргумент "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource..."
4. Платинум - 29 Июня, 2009 - 21:34:46 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  <? SELECT * FROM YABLOKI WHERE COLOR = 'зеленый' ?>
5. carakurt - 29 Июня, 2009 - 21:36:56 - перейти к сообщению
Платинум пишет:
PHP:
скопировать код в буфер обмена
  1.  <? SELECT * FROM YABLOKI WHERE COLOR = 'зеленый' ?>

нет, через $a. $a="зеленый"; ... WHERE COLOR=$a
6. Платинум - 29 Июня, 2009 - 21:39:40 - перейти к сообщению
carakurt пишет:
нет, через $a. $a="зеленый"; ... WHERE COLOR=$a

мда... а зачем столько лишнего кода ?
Ну тогда так :
PHP:
скопировать код в буфер обмена
  1. <? SELECT * FROM YABLOKI WHERE COLOR = '$a' ?>
7. carakurt - 29 Июня, 2009 - 21:43:15 - перейти к сообщению
Платинум пишет:
carakurt пишет:
нет, через $a. $a="зеленый"; ... WHERE COLOR=$a

мда... а зачем столько лишнего кода ?
Ну тогда так :
PHP:
скопировать код в буфер обмена
  1. <? SELECT * FROM YABLOKI WHERE COLOR = '$a' ?>


Лишний код из-за того, что эти параметры передаются из формы... а Вам спасибо огромное! Все ошибки из-за невнимательности. Поставил бы кавычки и все бы получилось...не пришлось бы людей дергать! Спасибо еще раз!!!
8. valenok - 29 Июня, 2009 - 21:43:47 - перейти к сообщению
Функции и ключевые слова пишут ЗАГЛАВНЫМИ БУКВАМИ
SELECT, FROM, WHERE, IN, AS , DELETE, UPDATE, INSERT и т.д.

Название полей и таблиц заключают в обратные кавычки (апострофы)
SELECT `feild` FROM `tabel` WHERE `field5`

Текстовые значения берут в одинарные кавычки
SELECT `field` AS 'sometext' FROM `mytable` WHERE `color`='ЗЕЛЕНЫЙ'
9. carakurt - 29 Июня, 2009 - 21:47:37 - перейти к сообщению
valenok пишет:
Функции и ключевые слова пишут ЗАГЛАВНЫМИ БУКВАМИ
SELECT, FROM, WHERE, IN, AS , DELETE, UPDATE, INSERT и т.д.

Название полей и таблиц заключают в обратные кавычки (апострофы)
SELECT `feild` FROM `tabel` WHERE `field5`

Текстовые значения берут в одинарные кавычки
SELECT `field` AS 'sometext' FROM `mytable` WHERE `color`='ЗЕЛЕНЫЙ'


Усвою себе это! Спасибо огромное! Но обязательно ли название таблица брать в апострофы?
10. JustUserR - 30 Июня, 2009 - 02:17:00 - перейти к сообщению
carakurt Если там одни лдатинские буквы и цифры и знак подчеркивания то необязательно иначе обязательно
11. valenok - 30 Июня, 2009 - 03:10:32 - перейти к сообщению
Очень рекомендуется.

 

Powered by ExBB FM 1.0 RC1