Есть к примеру запросы
UPDATE `users` SET `money` = money - $price WHERE `id` = 5;
DELETE FROM `users` WHERE `id` = 5;
INSERT INTO `users`(id, login) VALUES(5, 'login');
Если в пхп не будет ошибок с функциями отправки и т.д тогда мне в любом случае возвратится true
Даже если у меня будет не правильно написано название колонки, или значение.
Можно ли как то отследить SQL ошибки в пхп?
Не можно, а нужно. Только вы не указали какую библиотеку вы используете для работы с MySQL, поэтому рассмотрю несколько вариантов.
В общем случае обработку ошибок при запросах к базе следует выполнять в виде исключений.
Если вы используете php_mysql или php_mysqli, то после выполнения запроса с ошибкой функциями mysql_query()
, mysqli_query()
или mysqli_stmt_execute()
вы получите FALSE. При этом можно бросить исключение:
$mysqliStmt->execute() or throw new Exception($mysqli->error, $mysqli->errno);
Также рекомендую для исключений при работе с базой определить отдельно свой класс, порожденный от Exception.
В php_pdo все это есть "из коробки". Чтобы при возникновении ошибок бросались исключения достаточно после создания экземпляра класса PDO указать способ обработки ошибок:
$pdoConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
При этом, в случае возникновения ошибок будет бросаться исключение типа PDOException.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В VK API есть загрузка фотографий для товаров (vkcom/dev)
Нужно узнать name полей <input> для входа в роутер
Если я не ошибаюсь, то метод getObjectUrl, возвращает url для "внутреннего" использования и не предназначен для публичного использования