[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: переменная в mysqli_query
Porvoocio
Привет!
Столкнулся с проблемой, прошу вашей помощи.
есть у меня переменная $query, которая в результате цикла становится равна
Цитата

theme = "$Krasota" OR theme = "$Seks" OR theme = "$Moda" ORDER BY id DESC LIMIT $start_post, $post_count

что является окончанием запроса:

$result = mysqli_query($mysqli, "SELECT * FROM rss_news WHERE $query");

Уже по всякому попробовал вставлять $query в тело мускульного запроса, не выходит, ругается
Цитата

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\AppServ\www\rss\fashion\showmore.php on line 57


Подскажите, пожалуйста, как ее правильно вставить?

П.С. если запрос выглядит

$result = mysqli_query($mysqli, "SELECT * FROM rss_news WHERE theme = "$Krasota" OR theme = "$Seks" OR theme = "$Moda" ORDER BY id DESC LIMIT $start_post, $post_count");

то все-работает, переменные все есть.

если для понимания нужен цикл, как у меня формируется переменная, то вот он:

$result = mysqli_query($mysqli, "SELECT DISTINCT theme FROM rss_news WHERE category LIKE 'Гламур' ");
while($row = mysqli_fetch_array($result)) {
$query = $query.'theme = "$'.$row['theme'].'" OR ';
}
$query = substr($query, 0, strlen($query)-1);
$query = $query.'DER BY id DESC LIMIT $start_post, $post_count';


Заранее спасибо!



Спустя 19 минут, 29 секунд (9.04.2012 - 21:58) Игорь_Vasinsky написал(а):
$mysqli WTF? коннект? правильный коннект?

Спустя 11 часов, 20 минут, 50 секунд (10.04.2012 - 09:18) Porvoocio написал(а):
Коннект правильный. Повторюсь, когда делаю

$result = mysqli_query($mysqli, "SELECT * FROM rss_news WHERE theme = "$Krasota" OR theme = "$Seks" OR theme = "$Moda" ORDER BY id DESC LIMIT $start_post, $post_count");

все работает

Спустя 19 минут, 5 секунд (10.04.2012 - 09:37) h234 написал(а):
Цитата (Porvoocio @ 10.04.2012 - 06:18)
Коннект правильный. Повторюсь, когда делаю

$result = mysqli_query($mysqli, "SELECT * FROM rss_news WHERE theme = "$Krasota" OR theme = "$Seks" OR theme = "$Moda" ORDER BY id DESC LIMIT $start_post, $post_count");

все работает

Как это у вас так работает? Несколько строк без конкатенации.
Попробуйте все поля обрамить косыми кавычками (`), а значения одинарными (')

$query = "`theme` = '$Krasota' OR `theme` = '$Seks' OR `theme` = '$Moda' ORDER BY `id` DESC LIMIT $start_post, $post_count"

Спустя 5 минут, 3 секунды (10.04.2012 - 09:43) Игорь_Vasinsky написал(а):
про конкатенацию в моём журнале прочитай "Правильное оформление SQL запросов"

Спустя 1 час, 29 минут (10.04.2012 - 11:12) Ser18 написал(а):
Посмотрите какой запрос у вас в результате получается

echo $theme;


Если что то типа этого $mysqli, "SELECT * FROM rss_news WHERE $query"

то переменная у вас воспринимается как текст

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.