2010-04-21 1 views
1
try 
{ 
    $res = $db->exec($sql); 
    if ($res === FALSE) 
    { 
     print_r($db->errorInfo()); 
     die(); 
    } 
} 
catch(PDOException $e) 
{ 
    die($e->getCode().':'.$e->getMessage()); 
} 
catch(Exception $e) 
{ 
    die($e->getCode().':'.$e->getMessage()); 
}  

Информация об ошибке отсутствует, и ни одна из них не попадает в качестве исключения. Однако $ res является FALSE и данные не вставлены.PDO: sqlite does not INSERT данные, но нет ошибок

Array 
(
    [0] => 
) 

Но когда я эхо $sql и ввести этот запрос в SQLiteManager, он работает вставка данных.

+0

введите код в блок примера кода – retro

+0

Можете ли вы привести примерный запрос (и, возможно, структуру таблицы)? Какая версия php вы нам? Какая версия библиотеки sqlite делает эту версию использования php (phpinfo() может сказать)? – VolkerK

+0

Обратитесь к этому вопросу: http://stackoverflow.com/questions/10517887/how-to-show-sql-errors-in-sqlite –

ответ

1

Я использовал sqlite только с Python, но мне пришлось фиксировать там инструкции вставки/обновления ... Может быть, здесь и здесь? http://docs.php.net/manual/en/pdo.commit.php

+0

Вот только при использовании транзакции. 0: активной транзакции Im, использующей exec, который должен немедленно выполнить выполнение. – Phonethics

1

Убедитесь, что каталог, в котором вы храните файл, доступен для записи.

+0

Если это применимо, также убедитесь, что SELinux находится в режиме «разрешающего действия». –

Смежные вопросы