Я подключаюсь к базе данных SQL Server (SQL Server 2008 R2 SP2 x64) с Linux-сервера с PHP 5.3.19, используя следующие строки:
$this->dbLink = new PDO(
'dblib:host='.$this->host.';dbname='.$this->database,
$this->user,
$this->password,
array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
)
);
Соединение работает отлично, за исключением того, что ATTR_ERRMODE работает как ERRMODE_WARNING, независимо от того, что я делаю.
Я попытался установить его с помощью $this->dbLink->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
прямо перед вызовом запроса, но он не имеет никакого эффекта.
Если я использую getAttribute()
, я могу подтвердить, что PDO:: ATTR_ERRMODE действительно установлен в значение int(2)
(ERRMODE_EXCEPTION), но я все еще получаю предупреждения, а PHP продолжает прерываться с явно неправильными запросами.