есть ли существенное различие между PHP 5.4 и 5.2.13 для следующего кода? Он работает с PHP 5.4 (& mysql 5.1.62), при этом не отображается ошибка и выполняется запрос. Однако с 5.2.13 (& MySQL 5.1.3.0) он не показывает какую-либо ошибку (она не попадает в к блоку улова), но эти данные не включены в базу данныхPHP PDO и транзакции - различное поведение на PHP 5.4 и PHP 5.2.13
$db = new PDO(DHOST, DUSER, DPASS, array(PDO::ATTR_PERSISTENT => true, PDO::ATTR_EMULATE_PREPARES => true));
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
try {
$db->beginTransaction();
$db->exec($insertString);
$db->commit();
} catch (Exception $e) {
try {
$db->rollBack();
throwDbError($handler->errorInfo());
} catch (Exception $e2) {
...
}
}
Если я ommit строки с beginTransaction
и commit
, он также работает в PHP 5.2, но мне нужны транзакции. Обе таблицы в базах mysql используют InnoDB
Строка 'DB_DAO :: $ db-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_WARNING);' выглядит подозрительно. Может ли 5.4 использовать режим ошибки исключения? –
извините, старый фрагмент кода – ladar