Эквивалент mysql_fetch_assoc для informix - PullRequest
1 голос
/ 27 марта 2012

Я только начал работать с Informix (я использую MySQL всю свою жизнь) как я заменяю mysql_fetch_assoc на informix. Допустим, я хочу отображать по одному элементу за раз. Обычно в MySQL я запускаю цикл while, например так:

while($row=mysql_fetch_assoc($sql))
{
    echo $row['name'];
    echo $row['number'];
}

Как мне это сделать для informix?

$sql="select * employee";
 $result=$dbh->dbRequest("$sql")

Ответы [ 2 ]

1 голос
/ 27 марта 2012

Я бы предложил использовать PDO с драйвером informix. В руководстве есть множество примеров выполнения и возврата данных из запросов с использованием PDO.

Драйвер PDO Informix - http://php.net/manual/en/ref.pdo-informix.php PDO подготовить - http://www.php.net/manual/en/pdo.prepare.php

$db = new PDO('informix:DSN=db', '', '');
$query = $db->prepare('SELECT * FROM employee');
$query->execute();

while ($employee = $query->fetchObject()) {
    echo $employee->name;
    echo $employee->number;
}
0 голосов
/ 27 марта 2012

Это основной вопрос Perl DBI, хотя в DBI нет метода dbRequest, по крайней мере, не AFAIK.

Вы должны использовать что-то вроде этого, хотя я предполагаю, что у вас есть $dbh->{RaiseError} = 1 или вы собираетесь добавить проверку кода в код:

my $sql = "select * from employee";
my $sth = $dbh->prepare($sql);
$sth->execute;
my $hashref;

while ($hash_ref = $sth->fetchrow_hashref())
{
    print "$hash_ref->{name}\n";
    print "$hash_ref->{number}\n";
}

Это СУБД-нейтрально; если вы используете Perl DBI с MySQL, Informix, Oracle, DB2, ... именно так вы и написали бы код.

Примечание: я отредактировал теги, добавив Perl, DBI и MySQL (и удалил теги SQL и синтаксиса). Если я неверно истолковал ваш вопрос и вы используете PHP вместо Perl, то вам следовало бы сначала пометить код с помощью PHP (и теперь следует пометить его заново). Здесь нет проблемы SQL, о которой стоит упомянуть; это все о том, как использовать SQL на (формально неопознанном) языке хоста.

Существует другой ответ, если вопрос PHP, использующий систему PDO.

...