select запрос, проблема с переменными в запросе

L
На сайте с 11.07.2009
Offline
6
535


$this->query = mysql_query("SELECT `user_login` FROM `be_users` JOIN `be_sessions` WHERE (user_id='$this->fr_id[0]' AND session_user_id='$this->fr_id[0]') $this->p_fr LIMIT 0,6")or die(mysql_error());

от в этом запросе, если поставить кавычки по краям переменной $this->fr_id[0], то переменная не заменится и запрос результатов не даст, если кавычки убрать, то ошибка - неверный синтаксис. помогите, как сделать чтоб переменная заменялась?

malls
На сайте с 08.08.2005
Offline
255
#1

Не вдаваясь в подробности, просто спрошу:

Все что после SELECT - это уже SQL запрос, а что такое для SQL сервера Ваши $this->fr_id[0] ??? Для проги на PHP было бы понятно: $fr_id[0], но мускулю то что с того?

Кроме того когда Вы ставите одинарные кавычки по краям, то пышный синтиаксис '$param' становится строкой, в отличие от "$param" где в строку подставляется значение соответствующей переменной.

В общем мое ИМХО надо бы как то так:

'SELECT `user_login` FROM `be_users` JOIN `be_sessions` WHERE (user_id='.$this->fr_id[0].' AND ...

т.е.: 'строка'.переменная.'строка'

либо: "строка".переменная."строка"

слишком много у вас разных кавычек короче...

L
На сайте с 11.07.2009
Offline
6
#2
malls:
Не вдаваясь в подробности, просто спрошу:
Все что после SELECT - это уже SQL запрос, а что такое для SQL сервера Ваши $this->fr_id[0] ??? Для проги на PHP было бы понятно: $fr_id[0], но мускулю то что с того?
Кроме того когда Вы ставите одинарные кавычки по краям, то пышный синтиаксис '$param' становится строкой, в отличие от "$param" где в строку подставляется значение соответствующей переменной.
В общем мое ИМХО надо бы как то так:
'SELECT `user_login` FROM `be_users` JOIN `be_sessions` WHERE (user_id='.$this->fr_id[0].' AND ...

нет, запрос ничего не выдает...

malls
На сайте с 08.08.2005
Offline
255
#3
lostpassword:
нет, запрос ничего не выдает...

Главное чтобы он ошибок не выдавал... А возврат от запроса - это уже проблема самой конструкции запроса.

savage
На сайте с 10.01.2007
Offline
224
#4
lostpassword:
нет, запрос ничего не выдает...

malls правильно ответил, а если ничего не выдает - значит ничего не запрашивайте. Выведите этот запрос на печать echo или print, а потом проверьте в phpmyadmin, чтобы посмотреть чего он выдает. А заодно посмотрите, что он заменяет. Я всегда ставлю двойный кавычки.

Купить / продать сайт ( https://www.telderi.ru/?pid=ca1f70 ) | Недорогой и надежный хостинг ( https://www.get-host.ru )
L
На сайте с 11.07.2009
Offline
6
#5
malls:
Главное чтобы он ошибок не выдавал... А возврат от запроса - это уже проблема самой конструкции запроса.

запрос правильный. проблема в том что переменную не заменяет на значение

malls
На сайте с 08.08.2005
Offline
255
#6
lostpassword:
запрос правильный. проблема в том что переменную не заменяет на значение

По началу все так говорят... А потом хватаются за голову и кричат: "Ах, какой же я му...ак!"

Короче болезнь излечима - нужно просто время...

[Удален]
#7

Сначало победите это:

echo "fr_id[0]:".$this->fr_id[0]."<br>";

)))))))))))

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий