задание в SELECT имени таблицы переменной
Здравствуйте!
есть код:
if (!$_POST["submitted"]) {
echo "<form action='' method='POST'>
<hЗ>Выберите тип изделия:</h3>
<select name='cat'>
<option value='vaza'>Вазы</option>
<option value='vazon'>Вазоны</option>
</select>
<input type='submit' name='submitted' value='ok'>
</form>";
}
/*-------------------------*/
else {
echo "Вы выбрали: <br>";
echo $_POST["cat"]; }
$categ=$_POST["cat"];
include("blocks/bd.php");/*Соединяемся с базой данных*/
$result = mysql_query("SELECT * FROM $categ");
$myrow = mysql_fetch_array($result);
do
{
echo "<br>";
echo ($myrow['title']);
}
while ($myrow = mysql_fetch_array($result));
в первой части формируется выпадающий список и ожидаем клика на "ОК". После "Выберите тип изделия:" появляется 2 сообщения: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in K:\home\localhost\www\lemberg\admin\add_item_glina .php on line 25 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in K:\home\localhost\www\lemberg\admin\add_item_glina .php on line 31 Во второй части пытаюсь из таблицы, которой присваиваю имя переменной $categ, выбрать все элементы 'title'.Выбираю из списка и кликаю "ОК". Все сообщения об ошибках пропадают, происходит выбор из базы всех значений таблицы. Вопрос: что приводит к ошибкам? первое сообщение уходит еслиудалить 25-ую строку. второе: если явно задать имя таблицы в SELECT. Заранее благодарю за отклик. |
Закрывающая скобка else должна быть в конце _всего_ блока обработки запроса.
|
Заменить:
$result = mysql_query("SELECT * FROM $categ");
на:
$result = mysql_query("SELECT * FROM `$categ`");
|
Не, надо сразу
$categ='`'.$_POST["cat"].'`'; или
function tk() {
return '`' . join('`.`', func_get_args()) . '`';
}
$categ=tk($_POST["cat"]); |
Цитата:
mysql_real_escape_string($_POST['cat']); |
Ни разу не попали профессор. Курите ману по real_escape_string()
|
| Часовой пояс GMT +3, время: 11:02. |