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]   

> Без описания
GEN_18
Отправлено: 10 Ноября, 2012 - 13:23:06
Post Id



Частый гость


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


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




Такая проблема
В переменную $_SESSION['content'] записывается строка фотогалереи:
PHP:
скопировать код в буфер обмена
  1. $_SESSION['content'].="<a class=\"gallery\" rel=\"group\" href=\"/uploads/images/".$_SESSION['album']."/".$new."\"><img src=\"/uploads/images/".$_SESSION['album']."/xs/".$new_name_xs."\" alt=\"\" /></a>";


Когда пытаюсь записать ее в БД
PHP:
скопировать код в буфер обмена
  1. $query="Insert into `portfolio` (`content`) values (\"".$_SESSION['content']."\")" OR die(mysql_error());
  2. $result = mysql_query ($query);

Ничего не происходит(т.е. в БД ничего не записывается), даже ошибки нет....
А через PHPmyadmin спокойно такой запрос срабатывает.
В чём может быть проблема??

(Отредактировано автором: 10 Ноября, 2012 - 13:34:12)



-----
Еще вечера сегодня было завтра.
 
 Top
snikers987
Отправлено: 10 Ноября, 2012 - 14:09:08
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


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




PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $query="Insert into `portfolio` (`content`) values (\"".$_SESSION['content']."\")" OR die(mysql_error());
  4.  
  5. //OR die(mysql_error());  - этот блок в данном случаи не выполнится никогда, так как $query="Insert into `..." - приводится к true, к тому же вызов mysql_error происходит до самого запроса и возможной ошибки
  6.  
  7. $result = mysql_query ($query);
  8.  
  9.  



Правильнее, например так

PHP:
скопировать код в буфер обмена
  1.  
  2. $query="Insert into `portfolio` (`content`) values ('".$_SESSION['content']."')";
  3.  
  4.  
  5. $result = mysql_query ($query)  OR die(mysql_error());
  6.  
  7.  


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
PATCH
Отправлено: 10 Ноября, 2012 - 14:12:49
Post Id



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


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


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




Цитата:
//OR die(mysql_error()); - этот блок в данном случаи не выполнится никогда, так как $query="Insert into `..." - приводится к true, к тому же вызов mysql_error происходит до самого запроса и возможной ошибки

ошибся , Mysql_error(); выдаст все таки ошибку в случае синтаксической.
 
 Top
GEN_18
Отправлено: 10 Ноября, 2012 - 14:23:09
Post Id



Частый гость


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


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




PATCH
точно, вся проблема была именно в \"
как я сразу не догадался, что нужно переменную записать как строку, через '
Спасибо, что открыл глаза!!!


-----
Еще вечера сегодня было завтра.
 
 Top
snikers987
Отправлено: 10 Ноября, 2012 - 14:25:01
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


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




PATCH пишет:
Цитата:
//OR die(mysql_error()); - этот блок в данном случаи не выполнится никогда, так как $query="Insert into `..." - приводится к true, к тому же вызов mysql_error происходит до самого запроса и возможной ошибки

ошибся , Mysql_error(); выдаст все таки ошибку в случае синтаксической.


Какую ошибку он выдаст, если нет вызова?

(Отредактировано автором: 10 Ноября, 2012 - 14:29:21)



-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
halsoft
Отправлено: 10 Ноября, 2012 - 15:16:39
Post Id



Гость


Покинул форум
Сообщений всего: 94
Дата рег-ции: Нояб. 2012  
Откуда: The Land of Chechens


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




GEN_18 пишет:
точно, вся проблема была именно в \"


Не только в \". Еще и в том, что вы просто присваивали текст запроса переменной, а не выполняли запрос.


-----
Хорошие дела улучшают настроение, делают жизнь счастливей, а людей человеками.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB