RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 465
от 21.09.2006, 17:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 364, Экспертов: 57
В номере:Вопросов: 1, Ответов: 5


Вопрос № 55633: мне нужно вытащить из бд данные, пишу так mysql_select_db($dbname); $ath=mysql_query("SELECT p_title FROM plot WHERE p_name = $text;"); $plot=mysql_fetch_array($ath); $title=$plot['p_title']; echo $title; когда ...

Вопрос № 55.633
мне нужно вытащить из бд данные, пишу так
mysql_select_db($dbname);
$ath=mysql_query("SELECT p_title FROM plot WHERE p_name = $text;");
$plot=mysql_fetch_array($ath);
$title=$plot['p_title'];
echo $title;

когда $text является данной из другой таблицы НЕ plot, а, к примеру test...

Но мне p_name = $text надо сравнить, чтоб вытаскивать те данные которые равны $text
подскажите что я не так делаю... у меня выходит такое предупреждение
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
Отправлен: 16.09.2006, 16:47
Вопрос задала: MadeInUSSR (статус: 2-ой класс)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: SPEKTR
Здравствуйте, MadeInUSSR!
Надо так:

mysql_select_db($dbname);
$ath=mysql_query("SELECT p_title FROM plot WHERE p_name = " . $text);
$result = mysql_result($ath);
$plot=mysql_fetch_array($result);
$title=$plot['p_title'];
echo $title;

Удачи!
---------
Кто эксперт? Я эксперт?! Не, вы меня с кем-то путаете...
Ответ отправил: SPEKTR (статус: 2-ой класс)
Ответ отправлен: 16.09.2006, 16:52

Отвечает: Марк Крейн
Здравствуйте, MadeInUSSR!
Вот так вот сделайте:


mysql_select_db($dbname);
$ath=mysql_query("SELECT p_title FROM plot WHERE p_name = ".$text);
$plot=mysql_fetch_assoc($ath);
$title=$plot['p_title'];
echo $title;
Ответ отправил: Марк Крейн (статус: Практикант)
Ответ отправлен: 16.09.2006, 17:20

Отвечает: HookEst
Здравствуйте, MadeInUSSR!
Напишите так:

$ath=mysql_query("SELECT p_title FROM plot WHERE p_name = '".mysql_escape_string($text)."'");

все остальное без изменений.
Ответ отправил: HookEst (статус: 2-ой класс)
Ответ отправлен: 17.09.2006, 12:03
Оценка за ответ: 5

Отвечает: Козлов А. С.
Здравствуйте, MadeInUSSR!
Если $text является текстовым или временным полем, то его нужно обрамлять одинарными кавычками т.е.

$ath=mysql_query("SELECT p_title FROM plot WHERE p_name = '$text';");
$plot=mysql_fetch_array($ath);
$title=$plot['p_title'];
echo $title;
---------
Вы доставили мне истинное удовольствие парни, взвалив на меня Ваши проблемы (М. Фрай).
Ответ отправил: Козлов А. С. (статус: 8-ой класс)
Ответ отправлен: 18.09.2006, 07:30
Оценка за ответ: 5

Отвечает: PVS
Здравствуйте, MadeInUSSR!
Кавычки в SQL'е забыли:
$ath=mysql_query("SELECT p_title FROM plot WHERE p_name = '$text';");
Ответ отправил: PVS (статус: Студент)
Ответ отправлен: 18.09.2006, 09:47


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.36 от 06.09.2006
Яндекс Rambler's Top100

В избранное