Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Мистическая ошибка с переменной.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Zend
Отправлено: 10 Октября, 2010 - 16:06:05
Post Id


Гость


Покинул форум
Сообщений всего: 126
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)




Делаю запросы к MySQL из PHP:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. for($i=0;$i<=6;$i++){                  
  3. $select = "photo$allow_image[$i]";
  4.  $sql = "SELECT $select FROM dle_post WHERE id = '45'";
  5. }
  6.  


CODE (SQL):
скопировать код в буфер обмена
  1. Запрос не выполняется, ошибка:
  2. MySQL Error!
  3. ------------------------
  4.  
  5. The Error returned was:
  6. Unknown COLUMN 'photo' IN 'field list'
  7.  
  8. Error Number:
  9. 1054
  10.  
  11. SELECT photo  FROM dle_post WHERE id = '45'

Заметили ? В запросе просто photo
Странно, print_r($allow_image) выводит:
PHP:
скопировать код в буфер обмена
  1.  
  2. (
  3.     [0] => 1
  4.     [1] => 2
  5.     [2] => 3
  6.     [3] => 4
  7.     [4] => 5
  8.     [5] => 6
  9.     [6] => 7
  10. )
  11.  

И echo $select; выводит то что нужно:

(Добавление)
Добавил пробел в 'photo '
$select = 'photo '.$allow_image[$i];

Переменная $allow_image в SQL запросе появилась:
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. MySQL Error!
  3. ------------------------
  4.  
  5. The Error returned was:
  6. You have an error IN your SQL syntax; CHECK the manual that corresponds TO your MySQL server version FOR the RIGHT syntax TO USE near '1 FROM dle_post WHERE id = '46'' at line 1
  7.  
  8. Error Number:
  9. 1064
  10.  
  11. SELECT photo 1 FROM dle_post WHERE id = '46'
  12.  

Но пробел мне не нужен, названия колонок без пробелов.

(Отредактировано автором: 10 Октября, 2010 - 16:28:43)

 
 Top
EuGen Администратор
Отправлено: 10 Октября, 2010 - 18:14:24
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




$select = 'photo'.$allow_image[$i];


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
movEAX
Отправлено: 11 Октября, 2010 - 14:52:57
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009  


Помог: 16 раз(а)




Zend пишет:
Но пробел мне не нужен, названия колонок без пробелов.

Так что тебе мешает его убрать?


-----
армия.. самое убогое место
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB