Я тестирую новый код для вставки в базу данных MySQL с помощью PHP. Тест
$stmt->execute();
if ($stmt->errorCode() != 0)
{
$arr = $stmt->ErrorInfo();
throw new Exception('SQL failure:'.$arr[0].':'.$arr[1].':'.$arr[2]);
}
Он забросил ряд ошибок, которые я исправил один за другим. Наконец он провалился, но ничего не было написано на столе. Есть ли какой-либо другой тест, который я могу сделать, или журнал, который я мог бы настроить, чтобы понять, в чем проблема? MySQL работает локально на моем компьютере разработки.
Спасибо за любую помощь, Curt
P.S. Подобная публикация шесть месяцев назад не предлагала никаких дополнительных средств отладки, которые я мог видеть.
Я нашел ответ на свой вопрос, но я надеюсь на лучшее. Я скопировал выражение sql в окно запроса phpMyAdmin SQL, заменил литералы для всех переменных и запустил его. Я получил ошибку 1426 IIRC, которая касается несоответствия внешнего ключа. Я получил эту ошибку, потому что таблица внешнего ключа не была презервативом, а остальные были. Как только я сделал это изменение в БД, запрос работал правильно. Вы могли бы подумать, что ошибка будет возвращена в errorCode.
Вы можете активировать MySQL Общий журнал запросов и следить за этим файлом журнала.