Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.12.2013, 00:28
Новичок на форуме
Отправить личное сообщение для kostagal Посмотреть профиль Найти все сообщения от kostagal
 
Регистрация: 18.12.2013
Сообщений: 1

задание в 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.
Заранее благодарю за отклик.
Ответить с цитированием
  #2 (permalink)  
Старый 05.01.2014, 07:29
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,719

Закрывающая скобка else должна быть в конце _всего_ блока обработки запроса.
Ответить с цитированием
  #3 (permalink)  
Старый 10.01.2014, 18:21
Новичок на форуме
Отправить личное сообщение для Krossme Посмотреть профиль Найти все сообщения от Krossme
 
Регистрация: 10.01.2014
Сообщений: 1

Заменить:
$result = mysql_query("SELECT * FROM $categ");

на:
$result = mysql_query("SELECT * FROM `$categ`");
Ответить с цитированием
  #4 (permalink)  
Старый 11.01.2014, 04:16
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,719

Не, надо сразу

$categ='`'.$_POST["cat"].'`';

или

function tk() {
	return '`' . join('`.`', func_get_args()) . '`';
}


$categ=tk($_POST["cat"]);
Ответить с цитированием
  #5 (permalink)  
Старый 11.01.2014, 16:56
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 2,932

Сообщение от kostyanet
$categ=tk($_POST["cat"]);
mysql_real_escape_string($_POST['cat']);
Ответить с цитированием
  #6 (permalink)  
Старый 13.01.2014, 15:12
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,719

Ни разу не попали профессор. Курите ману по real_escape_string()
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите преобразовать фильтр таблицы под select greencard jQuery 2 21.08.2013 12:36
Задать имя таблицы в SELECT из переменной rudolfe Серверные языки и технологии 7 24.06.2013 16:46
Как обратиться к свойству объекта по имени если оно хранится в переменной xaknik Общие вопросы Javascript 2 25.04.2012 23:12
Задание имени переменной из другой vvsh Общие вопросы Javascript 23 24.04.2010 23:30
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 15:25