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]   

> Описание: не сохраняются данные в БД
валера
Отправлено: 05 Ноября, 2011 - 12:10:05
Post Id


Новичок


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


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




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. /**
  4.  * @date 31.10.2011
  5.  * @time 14:0
  6.  */
  7.  
  8. require_once('../db_config.php');
  9. require_once('../session_check.php');
  10.  
  11. if(session_check() && $_SESSION['user']=='qwerty')
  12. {
  13.     $user_id=$_POST['id'];
  14.     print_r($_POST);
  15.     $link = mysql_connect("$db_server","$db_login","$db_password");// or die(mysql_error());
  16.     mysql_select_db("$db_name",$link) or die(mysql_error());
  17.     echo $user_id."<br>";
  18.     $res=mysql_query("SELECT * FROM users WHERE id=$user_id") or die(mysql_error());
  19.     $row = mysql_fetch_array($res);
  20.     $user_login = $row['login'];
  21.     $user_password = $row['password'];
  22.     $user_privilege = $row['privilege'];
  23.     echo $user_login.' '.$user_password.' '.$user_privilege.'<br>';
  24.     echo "Редактирование:<br>";
  25.     echo <<<EDIT
  26.     <form method="POST">
  27.     <table>
  28.     <tr>
  29.         <td>Логин:</td>
  30.         <td><input type="text" name="user_login" value = "$user_login" maxlength="32"></td>
  31.     </tr>
  32.     <tr>
  33.         <td>Пароль:</td>
  34.         <td><input type="text" name="user_password" value="$user_password" maxlength="32"></td>
  35.     </tr>
  36.     <tr>
  37.         <td>Уровень доступа</td>
  38.         <td align="right"><input type="text" name="user_privilege" value="$user_privilege" size=3 maxlength="2"></td>
  39.     </tr>
  40.     <tr>
  41.         <td></td>
  42.         <td align="right"><input type="submit" name="save_button" value="Сохранить" size=10></td>
  43.     </tr>
  44.     </table>
  45. EDIT;
  46.     if (isset($_POST['save_button']) && isset($_POST['user_login']) && isset($_POST['user_password']) && isset($_POST['user_privilege'])) // если данные были введены
  47.     {
  48.         if (strlen($_POST['user_login'])==0 || strlen($_POST['user_password'])==0 || strlen($_POST['user_privilege'])==0)
  49.         {
  50.             echo "<font color=\"red\">Проверьте корректность введенных данных!</font>";
  51.             //echo "<script language=\"javascript\">";
  52.             //echo "document.location.href=\"$PHP_SELF\"";
  53.             //echo "</script>";
  54.         }
  55.         else
  56.         {
  57.         $user_login = mysql_entitles_fix_string($_POST['user_login']);
  58.         $user_password = mysql_entitles_fix_string($_POST['user_password']);
  59.         $user_privilege = mysql_entitles_fix_string($_POST['user_privilege']);
  60.         mysql_query("UPDATE `users` SET login='$user_login', password='$user_password', privilege=$user_privilege WHERE id=$user_id");
  61.         echo "<script language=\"javascript\">";
  62.         echo "document.location.href=\"users_managment.php\"";
  63.         echo "</script>";
  64.         }
  65.     }
  66. }
  67. // "обезвреживание введенных данных"
  68. function mysql_entitles_fix_string($string){
  69.     return htmlentities(mysql_fix_string($string));
  70. }
  71. function mysql_fix_string($string){
  72.     if(get_magic_quotes_gpc()) $string = stripcslashes($string);
  73.     return mysql_real_escape_string($string);
  74. }
  75. ?>


пишет: 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 '' at line 1. судя по всему,проблема при попытке сохранения изменений.
Однако sql-запрос при попытке выполнения в Navicat Lite успешно изменяет данные. что я делаю не так?
p.s. прошу строго не судить, ибо в php не очень силен пока еще
 
 Top
Давит
Отправлено: 05 Ноября, 2011 - 12:55:30
Post Id



Частый гость


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


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




PHP:
скопировать код в буфер обмена
  1. echo "UPDATE `users` SET login='$user_login', password='$user_password', privilege=$user_privilege WHERE id=$user_id";
 
 Top
валера
Отправлено: 05 Ноября, 2011 - 13:12:43
Post Id


Новичок


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


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




спасибо, натолкнули на путь истинный Улыбка проблема решена Улыбка
 
 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