Як знайти помилку в 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
Як зробити підписку на сайті (v2)
Function fetch_assoc () on a non-object
Запит sql для сортування результату вибірки
Запит sql на вибірку записів
Пошук по базі даних з сортуванням за релевантністю
Як дізнатися кількість записів в sql-вибірці
Відправлення запитів до бази даних в php
Запит sql на створення індексу
Використання union в sql
Випадкова вибірка з бази даних