Невозможно использовать переменную в MySQL Select - PullRequest
0 голосов
/ 29 декабря 2010
$select = " SELECT * FROM comments WHERE type=$row->title; ORDER BY id desc" .
         " LIMIT $low, $PerPage";
$final = mysql_query($select) or die('Error!');

$ row-> название; ранее создан и имеет значение типа Type1, Type2 или что-то еще. Когда я запускаю этот скрипт, результатом является «Ошибка!». Не могли бы вы сказать мне, почему? Я пробовал много способов решить проблему, но безрезультатно. Это один из них:

$mytype=$row->title;
$select = " SELECT * FROM comments WHERE type=$mytype; ORDER BY id desc" .
         " LIMIT $low, $PerPage";
$final = mysql_query($select) or die('Error!');

Ответы [ 2 ]

3 голосов
/ 29 декабря 2010

Удалить;после $ row-title, т.е.:

$select = " SELECT * FROM comments WHERE type='$row->title'  ORDER BY id desc" .          " LIMIT $low, $PerPage"; 
0 голосов
/ 29 декабря 2010

Вы должны повторить mysql_error () - MySQL скажет вам, что пошло не так!

Ответы dqhendricks и Cybernate верны - вы должны заключить свои строки в одинарные кавычки.

Однако - Вы также должны экранировать свой текст , иначе со временем вы получите больше ошибок:

$select = "SELECT * FROM comments WHERE type='" . mysql_real_escape_string($row->title) . "' ORDER BY id desc LIMIT $low, $PerPage";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...