为什么这段代码不返回所有行?
我有一个 Access 数据库,其中一个表称为 Products
,其中包含 9 行。 我想回显
所有行,但是当我使用此代码时,它只会回显
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>';
}
I have an access database, and one of the tables is called Products
, which contains 9 rows.
I want to echo
all of the rows, but when I use this code, it will echo
only 4 rows.
Where is my fault ?
$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>';
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
odbc_fetch_array 和 odbc_fetch_row 都从结果中提取行。
尝试改为:
Both odbc_fetch_array and odbc_fetch_row are pulling rows out of the results.
Try instead:
您在调用
odbc_fetch_row
和odbc_fetch_array
时都会提取行,因此每隔一行都会被丢弃。由于当没有更多行时,
odbc_fetch_array
返回FALSE
,因此您可以使用它来获取下一行并同时检查是否还有更多行:You are fetching rows both when calling
odbc_fetch_row
andodbc_fetch_array
, so every second row gets discarded.Since
odbc_fetch_array
returnsFALSE
when there are no more rows, you can use it to fetch the next row and check if there are any more rows, at the same time: