Як знайти помилку в sql-запиті
Відео: Як найпростіше знайти помилку в SQL запиті?
Відео: Типові помилки при написанні запитів на 1С. Євген Гилев
SQL-запит - це те, що або працює добре, або не працює взагалі, частково він ніяк працювати не може, на відміну, наприклад, від того ж PHP. Як наслідок, знайти помилку в SQL-запиті, просто розглядаючи його - важко, особливо якщо цей запит забезпечений цілою купою JOIN і UNION. Однак, в цій статті я розповім про методі пошуку помилок в SQL-запиті.
Оскільки зазвичай в SQL-запит підставляються якісь змінні в PHP, то необхідно його спочатку вивести. Зробити це можна, наприклад, так:
Відео: SQL для початківців. SQL запит SELECT ORDER BY LIMIT. Кількість рядків при вибірці з бази даних
lt ;?php
$ a =5-
$ query ="SELECT FROM` table` WHERE `id` = `$ a`"-
$ result_set = $ mysqli-gt;query($ query) -// Не працює
echo $ query-// Виводимо запит, який відправляється
?gt;
В результаті, скрипт виведе такий запит: SELECT FROM `table` WHERE` id` = `5`. Тепер щоб знайти помилку в ньому, треба зайти в phpMyAdmin, відкрити базу даних, з якої відбувається робота, відкрити вкладку "SQL"І спробувати виконати запит.
І ось тут вже помилка буде показана, не в самій зрозумілій формі (іноді прямо точно описує помилку), але вона буде. Ось що написав phpMyAdmin: "# 1064 - 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 `FROM `table` WHERE` id` =` 5 `ORDER BY `table`.`id `ASC LIMIT 0, 30 `at line 1". Це означає, що помилка поряд з FROM. Придивляємося до цього виділеному нами невеликій ділянці і виявляємо, що ми забули поставити "*". Виправляємо відразу в phpMyAdmin цю помилку, переконуємося, що запит спрацював і після цього йдемо виправляти помилку вже в коді.
За допомогою цього методу я знаходжу абсолютно все помилки в SQL-запиті, які мені не вдається виявити безпосередньо при огляді в PHP-коді.
Відео: SQL для початківців (DML): SELECT DISTINCT / ALL, Урок 18!
Сподіваюся, тепер і Ви зможете знайти помилку в будь-якому SQL-запиті.
- Як зробити підписку на сайті (v2)
- Як дізнатися кількість записів в sql-вибірці
- Як дізнатися, скільки змінилося рядків після update
- Як дізнатися синтаксис sql-запиту через phpmyadmin
- Як знайти підрядок в рядку на sql.
- Конструкція where в sql
- Перевірка зайнятості логіна на ajax
- Запит sql на створення і видалення бази даних
- Випадкова вибірка з бази даних
- Запит sql на вибірку записів
- Пошук по базі даних з сортуванням за релевантністю
- Клас для роботи з базою даних
- Запит sql на вибірку певного числа записів
- Запит sql на створення індексу
- Оптимізація запитів до mysql
- Відправлення запитів до бази даних в php
- Пошук в інтернеті
- Join в sql
- Використання union в sql
- Подвійна сортування на sql
- Function fetch_assoc () on a non-object