2012-03-27 40 views
1

我剛開始工作在informix上(我一直在使用mysql所有的生活) 如何將mysql_fetch_assoc替換爲informix。 可以說,我想在mysql中,我會運行一個while循環這樣的time.normally顯示一個項目:mysql_fetch_assoc相當於informix

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

我怎麼做,對Informix的?

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

是什麼'$ result'包含哪些內容?你做了一個'var_dump()'?我會說它包含一個數組 – 2012-03-27 15:06:18

+0

你在使用什麼庫?我沒有在這裏看到一個dbRequest:http://php.net/manual/en/book.ifx.php – runrig 2012-03-27 15:18:01

回答

0

這是一個基本的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"; 
} 

這是DBMS中性;如果您在MySQL,Informix,Oracle,DB2中使用Perl DBI ...這是您編寫代碼的方式。

注意:我編輯了標籤以添加Perl和DBI和MySQL(並刪除了SQL和語法標籤)。如果我錯誤地解釋了你的問題,並且你正在使用PHP而不是Perl,那麼你應該首先用PHP標記代碼(現在應該重新標記它)。這裏沒有值得一提的SQL問題。這完全是關於如何在(正式不確定的)主機語言中使用SQL。

如果問題是使用PDO系統的PHP,則會有不同的答案。