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
Форумы портала PHP.SU :: Версия для печати :: Почему не обновляет запись в БД?
Форумы портала PHP.SU » » Вопросы новичков » Почему не обновляет запись в БД?

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

1. alnik-75 - 05 Января, 2013 - 22:28:06 - перейти к сообщению
Добрый вечер!
есть скрипт, с помощью которого пользователь может добавлять комментарий к загруженному им на сайт фото или редактировать его.
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if(isset($_SESSION['id_user']) and isset($_POST['id_declar']) and isset($_POST['fotoname']) and isset($_POST['foto']))
  4. {
  5.     $id_user=$_SESSION['id_user'];
  6.     $id_declar=$_POST['id_declar'];
  7.     $foto=$_POST['foto'];
  8.     $fotoname=iconv('UTF-8','windows-1251',$_POST['fotoname']);
  9.     require_once('../config/bd.php');
  10.     $fotoname=mysqli_real_escape_string($db,$fotoname);
  11.     $result=mysqli_query($db,"UPDATE `declar_foto` SET `fotoname`=".$fotoname." WHERE `id_declar`=".$id_declar." and `id_user`=".$id_user." and `foto`=".$foto." LIMIT 1");
  12.     if($result=='true'){echo $fotoname;}
  13.     else{echo 'Произошла внутренняя ошибка! Попробуйте повторить снова';}
  14. }
  15. ?>
  16.  
  17.  

Почему не обновляется комментарий в таблице. До тех пор, пока пользовался mysql_query, все работало. Переделал на mysqli_query-перестало работать.

Дорогие форумчане!!! помогите
2. broshurkaplus - 05 Января, 2013 - 22:36:55 - перейти к сообщению
быть может присутствует конфликт кавычек - экранируются лишний раз, тд, тп.

сравните реальные значения $foto $id_declar и значения в бд, ыбть может при WHERE они отличаются и запрос не осуществляется, те `foto`!=".$foto."
скорее всего где то в условии значения не совпадают что происходит чаще всего изза кавычек ...
3. alnik-75 - 05 Января, 2013 - 22:53:52 - перейти к сообщению
значения совпадают. в том то и дело
(Добавление)
PHP:
скопировать код в буфер обмена
  1. $result=mysqli_query($db,"UPDATE `declar_foto` SET `fotoname`='$fotoname' WHERE `id_declar`='$id_declar' AND `id_user`='$id_user' AND `foto`='$foto' LIMIT 1");

Сделал кавычки двойными и указал переменые без контактации и все стало нормально. Почему?
(Добавление)
broshurkaplus! привет земляк!
4. broshurkaplus - 05 Января, 2013 - 23:35:58 - перейти к сообщению
да щас уже не помню, может глобально в пхп или скюэль что то включено или выключено поэтому и экранирует/неэкранирует по разному. я например на конкретном хостинге тесчу, а то бывало перенесешь на другой и... все по новой...

если "земляк" напиши в личку

так работает теперь я так понял.
5. alnik-75 - 06 Января, 2013 - 00:16:55 - перейти к сообщению
все работает. Написал на мыло

 

Powered by ExBB FM 1.0 RC1