bosh
Новичок
PDO OCI Binding
Собственно интересно, кто-нибудь вообще пользует PDO_OCI ?
У меня
PHP 5.1.1
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
Версия апача 2.0 хотя думаю не важно, не раобтает даже как
oracle@tdk $> php pdo_test.php
Собственно прроблема:
Работает некоректно. точнее вместо
SELECT * FROM Region where region_id =2 or region_id =1
отчего-то выдается результат запроса
SELECT * FROM Region where region_id =1
Вообще говоря, все выражения где "Биндятся" более одной переменной ведут себя некоретно. Ошибку никакую не выдает -просто ветет себя непотребно.
Если же к запросу биндится только одна переменная - всё вроде как работает.
Без биндов тоже всё работает.
Никто не сталкивался с подобным?
Кстати из примера если написать
$stmt->execute(array(':reg_id' => 1,':rg_id'=>2));
выведется другая запись.
Собственно интересно, кто-нибудь вообще пользует PDO_OCI ?
У меня
PHP 5.1.1
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
Версия апача 2.0 хотя думаю не важно, не раобтает даже как
oracle@tdk $> php pdo_test.php
Собственно прроблема:
PHP:
$dbh = new PDO("oci:", "tdk", "12345678");
$sql = "SELECT * FROM Region where region_id =:reg_id or region_id =:rg_id";
$stmt = $dbh->prepare($sql, array(PDO::CURSOR_SCROLL, PDO::CURSOR_FWDONLY));
$stmt->execute(array(':reg_id' => 2,':rg_id'=>1));
Работает некоректно. точнее вместо
SELECT * FROM Region where region_id =2 or region_id =1
отчего-то выдается результат запроса
SELECT * FROM Region where region_id =1
Вообще говоря, все выражения где "Биндятся" более одной переменной ведут себя некоретно. Ошибку никакую не выдает -просто ветет себя непотребно.
Если же к запросу биндится только одна переменная - всё вроде как работает.
Без биндов тоже всё работает.
Никто не сталкивался с подобным?
Кстати из примера если написать
$stmt->execute(array(':reg_id' => 1,':rg_id'=>2));
выведется другая запись.