使用带有Access数据库的odbc_connect移动到下一条记录

时间:2014-08-08 21:09:08

标签: php ms-access odbc

这甚至可能吗?

我找到了

$user='';
$password='';
$mdbFilename="myDatabase.accdb";

$connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=$mdbFilename", $user, $password);

$sql="SELECT * FROM [tblNameHere]";
$rs=odbc_exec($connection,$sql);

$myResults=odbc_result($rs,"fieldNameHere");

echo 'First entry: ' . $myResults;

//Move to next record here
$myResults=odbc_result($rs,"fieldNameHere");
echo 'Second entry: ' . $myResults;

odbc_close($connection);

这只是将第一个记录放两次,我可以返回第一个记录的任何字段值,但是我找不到让它更改为下一个记录,如果它存在。

1 个答案:

答案 0 :(得分:1)

您需要遍历记录,使用odbc_fetch_row

$sql="SELECT * FROM [tblNameHere]";
$rs=odbc_exec($connection,$sql);

while (odbc_fetch_row($rs)) {
   $myResults =odbc_result($rs,"fieldNameHere");
   echo "Entry: " . $myResults;
}

odbc_close($connection);

  

odbc_fetch_row

     

(PHP 4,PHP 5)odbc_fetch_row - 获取一行

     

说明

     

bool odbc_fetch_row ( resource $result_id [, int $row_number ] )   获取odbc_do()或返回的一行数据   odbc_exec()。调用odbc_fetch_row()后,该行的字段   可以使用odbc_result()访问。

<小时/> “手动”

$rs=odbc_exec($connection,$sql);

$myResults=odbc_result($rs,"fieldNameHere");
echo 'First entry: ' . $myResults;

//Move to next record here
odbc_fetch_row($rs); //<----MoveNext() manually

$myResults=odbc_result($rs,"fieldNameHere");
echo 'Second entry: ' . $myResults;