我用了啊,前辈,下面是我写的一个查询的$connstr = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=".realpath("db.mdb"); $conn=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) or die ("数据库连接错误!"); $result=$conn->execute("select * from php_admin");while (!$result->eof()){ $fld0=$result->fields["szd_user"]; $fld1=$result->fields["szd_password"]; echo "$fld0->value $fld1->value ....<br />"; $result->movenext(); }可老报这个错啊,是我哪写错了吗Fatal error: Call to a member function execute() on a non-object in D:\xampp\htdocs\0802Test\index.php on line 31
手册上的一个例子$connstr = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=".realpath("db.mdb"); // Connect to DB $conn = odbc_connect($connstr,'',''); // Query $qry = "SELECT * FROM php_admin"; // Get Result $result = odbc_exec($conn,$qry); // Get Data From Result while ($data[] = odbc_fetch_array($result)); // Free Result odbc_free_result($result); // Close Connection odbc_close($conn); // Show data print_r($data);
function query($sql) { return @odbc_exec($this->link,$sql); }
function first_array($sql) { return odbc_fetch_array($this->query($sql)); }
function fetch_row($query) { return odbc_fetch_row($query); }
function total_num($sql)//取得记录总数 { return odbc_num_rows($this->query($sql)); }
function close()//关闭数据库连接函数 { odbc_close($this->link); }
function insert($table,$field)//插入记录函数 { $temp=explode(',',$field); $ins=''; for ($i=0;$i<count($temp);$i++) { $ins.="'".$_POST[$temp[$i]]."',"; } $ins=substr($ins,0,-1); $sql="INSERT INTO ".$table." (".$field.") VALUES (".$ins.")"; $this->query($sql); }
function getinfo($table,$field,$id,$colnum)//取得当条记录详细信息 { $sql="SELECT * FROM ".$table." WHERE ".$field."=".$id.""; $query=$this->query($sql); if($this->fetch_row($query)) { for ($i=1;$i<$colnum;$i++) { $info[$i]=odbc_result($query,$i); } } return $info; }
function getlist($table,$field,$colnum,$condition,$sort="ORDER BY id DESC")//取得记录列表 { $sql="SELECT * FROM ".$table." ".$condition." ".$sort; $query=$this->query($sql); $i=0; while ($this->fetch_row($query)) { $recordlist[$i]=getinfo($table,$field,odbc_result($query,1),$colnum); $i++; } return $recordlist; }
function getfieldlist($table,$field,$fieldnum,$condition="",$sort="")//取得记录列表 { $sql="SELECT ".$field." FROM ".$table." ".$condition." ".$sort; $query=$this->query($sql); $i=0; while ($this->fetch_row($query)) { for ($j=0;$j<$fieldnum;$j++) { $info[$j]=odbc_result($query,$j+1); } $rdlist[$i]=$info; $i++; } return $rdlist; }
function updateinfo($table,$field,$id,$set)//更新记录 { $sql="UPDATE ".$table." SET ".$set." WHERE ".$field."=".$id; $this->query($sql); }
function deleteinfo($table,$field,$id)//删除记录 { $sql="DELETE FROM ".$table." WHERE ".$field."=".$id; $this->query($sql); }
function deleterecord($table,$condition)//删除指定条件的记录 { $sql="DELETE FROM ".$table." WHERE ".$condition; $this->query($sql); }
function getcondrecord($table,$condition="")// 取得指定条件的记录数 { $sql="SELECT COUNT(*) AS num FROM ".$table." ".$condition; $query=$this->query($sql); $this->fetch_row($query); $num=odbc_result($query,1); return $num; } } ?>
自己百度下 来得更快
$conn=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ) or die ("数据库连接错误!");
$result=$conn->execute("select * from php_admin");while (!$result->eof()){ $fld0=$result->fields["szd_user"];
$fld1=$result->fields["szd_password"]; echo "$fld0->value $fld1->value ....<br />";
$result->movenext(); }可老报这个错啊,是我哪写错了吗Fatal error: Call to a member function execute() on a non-object in D:\xampp\htdocs\0802Test\index.php on line 31
// Connect to DB
$conn = odbc_connect($connstr,'',''); // Query
$qry = "SELECT * FROM php_admin"; // Get Result
$result = odbc_exec($conn,$qry); // Get Data From Result
while ($data[] = odbc_fetch_array($result)); // Free Result
odbc_free_result($result); // Close Connection
odbc_close($conn); // Show data
print_r($data);
我现在有两个字段,username,useraddress通过你给我的这个也好,我说的那个也好 应该怎么显示数据啊
这个不就是取到的数据吗?
这是一个二维数组。
打印出来看看,用foreach取就行了。
最近接了一个网站使用的是PHP+Access,汗,以前从来没有用php+Access做过,参考别人写的access函数,自己加入了一些其他的功能,封装为一个类,感觉调用蛮方便的,虽然没有测试过,但是感觉PHP+Access的速度没有PHP+MySQL速度快。代码如下:<?php
--------------------------------------------------------------------
//FileName:class.php
//Summary: Access数据库操作类
//Author: forest
//CreateTime: 2006-8-10
//LastModifed:
//copyright (c)2006
//http://freeweb.nyist.net/~chairy
//[email protected]
// 使用范例:
//$databasepath="database.mdb";
//$dbusername="";
//$dbpassword="";
//include_once("class.php");
//$access=new Access($databasepath,$dbusername,$dbpassword);--------------------------------------------------------------------
class Access
{
var $databasepath,$constr,$dbusername,$dbpassword,$link;
function Access($databasepath,$dbusername,$dbpassword)
{
$this->databasepath=$databasepath;
$this->username=$dbusername;
$this->password=$dbpassword;
$this->connect();
}
function connect()
{
$this->constr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath($this->databasepath);
$this->link=odbc_connect($this->constr,$this->username,$this->password,SQL_CUR_USE_ODBC);
return $this->link;
//if($this->link) echo "恭喜你,数据库连接成功!";
//else echo "数据库连接失败!";
}
function query($sql)
{
return @odbc_exec($this->link,$sql);
}
function first_array($sql)
{
return odbc_fetch_array($this->query($sql));
}
function fetch_row($query)
{
return odbc_fetch_row($query);
}
function total_num($sql)//取得记录总数
{
return odbc_num_rows($this->query($sql));
}
function close()//关闭数据库连接函数
{
odbc_close($this->link);
}
function insert($table,$field)//插入记录函数
{
$temp=explode(',',$field);
$ins='';
for ($i=0;$i<count($temp);$i++)
{
$ins.="'".$_POST[$temp[$i]]."',";
}
$ins=substr($ins,0,-1);
$sql="INSERT INTO ".$table." (".$field.") VALUES (".$ins.")";
$this->query($sql);
}
function getinfo($table,$field,$id,$colnum)//取得当条记录详细信息
{
$sql="SELECT * FROM ".$table." WHERE ".$field."=".$id."";
$query=$this->query($sql);
if($this->fetch_row($query))
{
for ($i=1;$i<$colnum;$i++)
{
$info[$i]=odbc_result($query,$i);
}
}
return $info;
}
function getlist($table,$field,$colnum,$condition,$sort="ORDER BY id DESC")//取得记录列表
{
$sql="SELECT * FROM ".$table." ".$condition." ".$sort;
$query=$this->query($sql);
$i=0;
while ($this->fetch_row($query))
{
$recordlist[$i]=getinfo($table,$field,odbc_result($query,1),$colnum);
$i++;
}
return $recordlist;
}
function getfieldlist($table,$field,$fieldnum,$condition="",$sort="")//取得记录列表
{
$sql="SELECT ".$field." FROM ".$table." ".$condition." ".$sort;
$query=$this->query($sql);
$i=0;
while ($this->fetch_row($query))
{
for ($j=0;$j<$fieldnum;$j++)
{
$info[$j]=odbc_result($query,$j+1);
}
$rdlist[$i]=$info;
$i++;
}
return $rdlist;
}
function updateinfo($table,$field,$id,$set)//更新记录
{
$sql="UPDATE ".$table." SET ".$set." WHERE ".$field."=".$id;
$this->query($sql);
}
function deleteinfo($table,$field,$id)//删除记录
{
$sql="DELETE FROM ".$table." WHERE ".$field."=".$id;
$this->query($sql);
}
function deleterecord($table,$condition)//删除指定条件的记录
{
$sql="DELETE FROM ".$table." WHERE ".$condition;
$this->query($sql);
}
function getcondrecord($table,$condition="")// 取得指定条件的记录数
{
$sql="SELECT COUNT(*) AS num FROM ".$table." ".$condition;
$query=$this->query($sql);
$this->fetch_row($query);
$num=odbc_result($query,1);
return $num;
}
}
?>