Я использую PHP для некоторых простых сценариев оболочки, чтобы конвертировать существующие данные в таблицы SQLite на моем локальном компьютере. Однако, когда я запускаю сценарии в командной строке, я не получаю ошибок, даже когда функция INSERT явно не работает (т.е. записи не находятся в таблице, когда она завершена). Есть ли для этого очевидное решение?
Приведенный ниже код является упрощенной версией того, что я использую (в нем больше подциклов и т. Д., Что затрудняет отслеживание того, что именно не вставляется в таблицы). Например, если в имени человека есть символ перевода строки, он не вставляется, но у меня нет сообщения об ошибке, чтобы определить проблему. Кроме того, я изначально забыл использовать одинарные кавычки вокруг текстового поля emp_name, а также не получил ошибку в командной строке.
$db = new PDO('sqlite:mydatabase.sqlite');
$db->exec("CREATE TABLE employee_data (emp_id INTEGER, emp_name TEXT);");
$db->beginTransaction();
foreach($people_data as $person) {
$db->exec("INSERT INTO employee_data VALUES ('{$person->emp_id}', '{$person->emp_name}');");
}
$db->commit();
$db = NULL;
Спасибо!
Bryan