wamp — PHP выбирает в базе данных Firebird всегда возвращать пустой

Я пытаюсь использовать Firebird в своем приложении PHP. Мне уже удалось заставить работать расширения interbase и Firebird PDO, и соединение установилось без проблем.

Но когда я пытаюсь сделать простой выбор в одну из таблиц (select * from filial), он всегда возвращается пустым, как будто в таблице ничего не записано.

Я уже тестировал свой сценарий в другой базе данных, и он работал правильно, так что я полагаю, что это не проблема PHP, но я думаю, что он имеет что-то с моей базой данных.

Вот как я создал базу данных и таблицу с ISQL:

create database 'C:\My\Database\Path.fdb' page_size 4096 user 'myuser' password 'mypass' default character set UTF8;
connect 'C:\My\Database\Path.fdb' user 'myuser' password 'mypass';
create table filial (id int not null primary key, nome varchar(45));
insert into filial (id, nome) values (1, 'test');

Когда я запускаю запрос «select» в ISQL, он возвращает одну вставленную строку. Но, делая это с помощью Interbase или PDO, я получаю пустой объект.

Я также попытался использовать заглавные буквы для имен таблиц и столбцов.

Что я делаю неправильно?

Я запускаю этот проект в Windows 7 с установленным сервером WAMP и Firebird.

Interbase PHP код:

$db_server = 'localhost';
$db_user = 'SYSDBA';
$db_passw = 'masterkey';
$db_name = 'C:\Users\Joao\Firebirds\Desenvolvimento.fdb';

$host = $db_server.':'.$db_name;
$dbh = ibase_connect($host, $db_user, $db_passw);
$stmt = 'select * from filial';
$sth = ibase_query($dbh, $stmt);
while ($row = ibase_fetch_object($sth)) {
echo $row->ID.'<br />';
}
ibase_free_result($sth);
ibase_close($dbh);

PDO PHP код:

$db_server = 'localhost';
$db_user = 'SYSDBA';
$db_passw = 'masterkey';
$db_name = 'C:\Users\Joao\Firebirds\Desenvolvimento.fdb';

$str_conn='firebird:host='.$db_server.';dbname='.$db_name;
$conn = new PDO($str_conn, $db_user, $db_passw);

$q = $conn->prepare('SELECT * FROM filial;');
$q->execute();
$dados = $q->fetchAll(PDO::FETCH_OBJ);

foreach($dados as $row){
echo $row->ID.'<br/>';
}

Поскольку я работаю локально, я также помещаю данные соединения.

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]