我有一个访问数据库,其中一个表名为Products
,其中包含9行。
我想echo
所有行,但是当我使用此代码时,echo
只会有4行。
我的错在哪里?
$conn = odbc_connect('MoeinODBCTest1', '', '');
$sql = "select * from Products";
$rs = odbc_exec($conn, $sql);
while(odbc_fetch_row($rs))
{
$arr = odbc_fetch_array($rs);
print_r($arr);
echo '<br>';
}
答案 0 :(得分:5)
odbc_fetch_array和odbc_fetch_row都会从结果中拉出行。
尝试改为:
$conn = odbc_connect('MoeinODBCTest1', '', '');
$sql = "select * from Products";
$rs = odbc_exec($conn, $sql);
while($arr = odbc_fetch_array($rs)) {
print_r($arr);
echo '
';
}
答案 1 :(得分:0)
您在调用odbc_fetch_row
和odbc_fetch_array
时都会获取行,因此每隔一行都会被丢弃。
由于odbc_fetch_array
在没有更多行时返回FALSE
,您可以使用它来获取下一行并同时检查是否还有行:
while ($arr = odbc_fetch_array($rs)) {
print_r($arr);
echo "\n";
}