2015-04-30 33 views
2

我想抓取sybase数据库中的5条记录。我使用sybase_fetch_array()sybase_fetch_array无法抓取多行

$link = sybase_connect('192.168.1.29', 'dba', 'password') 
       or die("Could not connect !"); 
$result = sybase_query("SELECT TOP 5 * FROM User"); 
$value = sybase_fetch_array($result); 

我可以运行通过Interactive SQL中的SQL和它的作品,但是当我var_dump($value)结果是只有一行。我已经尝试过了:

while ($value= sybase_fetch_array($result)){ 
    echo $value['UserID']; 
} 

哪个也不管用。

+0

什么输出是否来自'$ value'的var_dump? – TobyLL

+0

绝对看起来很奇怪。虽然应该工作......这是正常的,但你的第一个例子只返回一行。 sybase_fetch_array的文档清楚地表明它返回一个包含单个行的数组,并且后续调用将返回下一行(如果有) –

+0

您是否尝试过sybase_fetch_assoc? – jckhan

回答

0

$ value是一个简单的数组。如果你看看PHP教程,你会发现索引数组的方式是偏移量,而不是散列字段名称。比如,我打印出来的表格行的字段值到一个表布局,其中字段名EVENT_ID(0),EVENT_NAME(1),EVENT_TIME(2),sc_id(3)等:

while($row = sybase_fetch_array($result)) { 
    $i++; 

    print " <tr>\n"; 
    print "  <td class="A">$row[0]</td>\n"; 
    print "  <td>$row[1]</td>\n"; 
    print "  <td>$row[2]</td>\n"; 
    print "  <td>$row[3]</td>\n"; 
    print "  <td class="tmsgWidth tmsg">$row[4]</td>\n"; 
    print " </tr>\n"; 
    print "\n"; 
}