PHP.SU

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


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

> Без описания
ThobyLogan
Отправлено: 04 Февраля, 2019 - 14:17:32
Post Id


Новичок


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


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




Здравствуйте. Не могу понять в чем ошибка. Подключение к бд есть, каталог на страницу выгружает, добавление есть. Но как только кликаю изменить вылетает ошибка:

Warning: mysql_query(): Access denied for user ''@'localhost' (using password: NO) on line 55
Warning: mysql_query(): A link to the server could not be established on line 55
Notice: Access denied for user ''@'localhost' (using password: NO) on line 55
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given on line 56

Когда удалить, еще и эта:

Произошла ошибка: 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

Подскажите в чем может быть проблема.
Вот код:
PHP:
скопировать код в буфер обмена
  1. <!doctype html>
  2. <html lang="ru">
  3. <head>
  4.   <meta charset="UTF-8">
  5.   <title>Админ-панель</title>
  6. </head>
  7. <body>
  8.   <?PHP
  9.     $host = 'localhost';  // Хост, у нас все локально
  10.     $user = 'root';    // Имя созданного вами пользователя
  11.     $pass = '123'; // Установленный вами пароль пользователю
  12.     $db_name = 'apps';   // Имя базы данных
  13.     $link = mysqli_connect($host, $user, $pass, $db_name); // Соединяемся с базой
  14.  
  15.     // Ругаемся, если соединение установить не удалось
  16.     if (!$link) {
  17.       echo 'Не могу соединиться с БД. Код ошибки: ' . mysqli_connect_errno() . ', ошибка: ' . mysqli_connect_error();
  18.       exit;
  19.     }
  20.  
  21.     //Если переменная Name передана
  22.     if (isset($_POST["login"])) {
  23.       //Если это запрос на обновление, то обновляем
  24.       if (isset($_GET['red_id'])) {
  25.           $sql = mysqli_query($link, "UPDATE `users` SET `login` = '{$_POST['login']}',`password` = '{$_POST['password']}',`sroki` = '{$_POST['sroki']}',`price` = '{$_POST['price']}' WHERE `login`={$_GET['red_id']}");
  26.           $res = mysql_query($sql) or trigger_error(mysql_error()." in ". $sql);
  27.       } else {
  28.           //Иначе вставляем данные, подставляя их в запрос
  29.           $sql = mysqli_query($link, "INSERT INTO `users` (`login`, `password`, `sroki`, `price`) VALUES ('{$_POST['login']}', '{$_POST['password']}', '{$_POST['sroki']}', '{$_POST['price']}')");
  30.           $res = mysql_query($sql) or trigger_error(mysql_error()." in ". $sql);
  31.       }
  32.  
  33.       //Если вставка прошла успешно
  34.       if ($sql) {
  35.         echo '<p>Успешно!</p>';
  36.       } else {
  37.         echo '<p>Произошла ошибка: ' . mysqli_error($link) . '</p>';
  38.       }
  39.     }
  40.  
  41.     if (isset($_GET['del_id'])) { //проверяем, есть ли переменная
  42.       //удаляем строку из таблицы
  43.       $sql = mysqli_query($link, "DELETE FROM `users` WHERE `login` = {$_GET['del_id']}");
  44.         $res = mysql_query($sql) or trigger_error(mysql_error()." in ". $sql);
  45.       if ($sql) {
  46.         echo "<p>Товар удален.</p>";
  47.       } else {
  48.         echo '<p>Произошла ошибка: ' . mysqli_error($link) . '</p>';
  49.       }
  50.     }
  51.  
  52.     //Если передана переменная red_id, то надо обновлять данные. Для начала достанем их из БД
  53.     if (isset($_GET['red_id'])) {
  54.       $sql = mysqli_query($link, "SELECT `login`, `password`, `sroki`, `price` FROM `users` WHERE `id`={$_GET['red_id']}");
  55.       $res = mysql_query($sql) or trigger_error(mysql_error()." in ". $sql);
  56.       $product = mysqli_fetch_array($sql);
  57.     }
  58.   ?>
  59.   <p><a href="?add=new">Добавить новый товар</a></p>
  60.   <form action="" method="post">
  61.     <table>
  62.       <tr>
  63.         <td>ID-клиента:</td>
  64.         <td><input type="text" name="login" value="<?= isset($_GET['red_id']) ? $product['login'] : ''; ?>"></td>
  65.       </tr>
  66.       <tr>
  67.         <td>Пароль:</td>
  68.         <td><input type="text" name="password" value="<?= isset($_GET['red_id']) ? $product['password'] : ''; ?>"></td>
  69.       </tr>
  70.       <tr>
  71.         <td>Скроки ремонта:</td>
  72.         <td><input type="text" name="sroki" value="<?= isset($_GET['red_id']) ? $product['sroki'] : ''; ?>"></td>
  73.       </tr>
  74.       <tr>
  75.         <td>Стоимость ремонта:</td>
  76.         <td><input type="text" name="price" value="<?= isset($_GET['red_id']) ? $product['price'] : ''; ?>"></td>
  77.       </tr>
  78.       <tr>
  79.         <td colspan="2"><input type="submit" value="OK"></td>
  80.       </tr>
  81.     </table>
  82.    
  83.   </form>
  84.   <table border='1'>
  85.     <tr>
  86.       <td>Идентификатор</td>
  87.       <td>Наименование</td>
  88.       <td>Цена</td>
  89.       <td>Удаление</td>
  90.       <td>Редактирование</td>
  91.     </tr>
  92.     <?PHP
  93.       $sql = mysqli_query($link, 'SELECT `login`, `password`, `sroki`, `price` FROM `users`');
  94.       while ($result = mysqli_fetch_array($sql)) {
  95.         echo '<tr>' .
  96.              "<td>{$result['login']}</td>" .
  97.              "<td>{$result['password']}</td>" .
  98.              "<td>{$result['sroki']} &#8381;</td>" .
  99.             "<td>{$result['price']} &#8381;</td>" .
  100.              "<td><a href='?del_id={$result['ID']}'>Удалить</a></td>" .
  101.              "<td><a href='?red_id={$result['ID']}'>Изменить</a></td>" .
  102.              '</tr>';
  103.       }
  104.     ?>
  105.   </table>
  106.  
  107. </body>
  108. </html>
  109.  
 
 Top
Vladimir Kheifets
Отправлено: 05 Февраля, 2019 - 07:45:29
Post Id



Посетитель


Покинул форум
Сообщений всего: 378
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


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




ThobyLogan пишет:
Здравствуйте. Не могу понять в чем ошибка. Подключение к бд есть, каталог на страницу выгружает, добавление есть. Но как только кликаю изменить вылетает ошибка:

Warning: mysql_query(): Access denied for user ''@'localhost' (using password: NO) on line 55
Warning: mysql_query(): A link to the server could not be established on line 55
Notice: Access denied for user ''@'localhost' (using password: NO) on line 55
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given on line 56

Когда удалить, еще и эта:

Произошла ошибка: 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

Подскажите в чем может быть проблема.


Добрый день!
Совершено случайно заметил:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $res = mysql_query($sql) or trigger_error(mysql_error()." in ". $sql); // здесь д.б. mysqli_query и  $link
  3. $res = mysqli_query($link, $sql) .... // д.б. так
  4. //М.б. Этом строка хвост от старого кода? $res не используется
  5. $product = mysqli_fetch_array($sql); //это  следующая строка
  6. //----------------------------------------------------------------------------------------
  7. // потеряны кавычки
  8. $_GET['del_id']="xxxxxx";
  9. echo "DELETE FROM `users` WHERE `login` = {$_GET['del_id']}"; //ошибка нет ковычек
  10. //результат: DELETE FROM `users` WHERE `login` = xxxxxx
  11. echo "DELETE FROM `users` WHERE `login` = '{$_GET['del_id']}'"; //д.б. так
  12. //результат: DELETE FROM `users` WHERE `login` = 'xxxxxx'
  13.  
  14. //здесь тоже д.б. '{$_GET['del_id']}' , у Вас {$_GET['del_id']} - потеряны кавычки .
  15. $sql = mysqli_query($link, "UPDATE `users` SET `login` = '{$_POST['login']}',`password` = '{$_POST['password']}',`sroki` = '{$_POST['sroki']}',`price` = '{$_POST['price']}' WHERE `login`={$_GET['red_id']}");
  16. $sql = mysqli_query($link, "SELECT `login`, `password`, `sroki`, `price` FROM `users` WHERE `id`={$_GET['red_id']}");
  17. ?>

Удачи!

(Отредактировано автором: 06 Февраля, 2019 - 08:14:40)

 
 Top
andrewkard
Отправлено: 05 Февраля, 2019 - 12:54:15
Post Id


Участник


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


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




mysql_query, mysqli_query
лучше переписать все на mysqli
ну статья на заметку
SQL injection
https://habr[dot]com/ru/post/148151/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB