时间:2021-07-01 10:21:17 帮助过:42人阅读
|
本文介绍下,php操作access数据库的一个类,有需要的朋友参考下。
代码如下:
getlist("SELECT TOP 5 * FROM `Result` WHERE `ResultNo` < 12 ORDER BY `ResultNo` DESC"));
echo $access->num_rows("update `conner` set `connerip` = '222.35.142.101' where `connerno` < 83");
*/
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);
if(!$this->link) echo "数据库连接失败!";
return $this->link;
}
function query($sql){ //直接运行SQL,可用于更新、删除数据
return @odbc_exec($this->link,$sql);
}
function fetch_array($query){ //取得当前指针处记录
return odbc_fetch_array($query);
}
function fetch_row($query){ //基本同fetch_array(),但只有数字索引
return odbc_fetch_row($query);
}
function num_rows($sql){ //返回SQL查询影响到的行的数目
return odbc_num_rows($this->query($sql));
}
function close(){ //关闭数据库连接函数
odbc_close($this->link);
}
function getlist($sql){ //取得记录列表
$query=$this->query($sql);
$recordlist=array();
while ($row=$this->fetch_array($query)){
$recordlist[]=$row;
}
return $recordlist;
}
}
?>
以上类中使用了ODBC,而不是ODBC数据源。 直接新建一个*.mdb文件即可使用。 附,部分常用COM方式操作Access代码:
Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");
?>
JS调用页js.php
Execute("SELECT TOP 3 * FROM userstar where chk = 1 ORDER BY id DESC");
$idgb=1;
while(!$rs->EOF){
$gbinf[$idgb]['id'] = $rs->Fields['id']->Value;
$gbinf[$idgb]['usname'] = $rs->Fields['usname']->Value;
$gbinf[$idgb]['usage'] = $rs->Fields['usage']->Value;
$gbinf[$idgb]['usprovince'] = $rs->Fields['usprovince']->Value;
$gbinf[$idgb]['usfile'] = $rs->Fields['usfile']->Value;
$gbinf[$idgb]['thumb'] = $rs->Fields['thumb']->Value;
$gbinf[$idgb]['usmessage'] = $rs->Fields['usmessage']->Value;
$rs->MoveNext();
$idgb++;
}
$rs->Close();
$rs = null;
$uhtml='';
$uhtml.='
另一个例子,以本文件路径确定数据库路径:
Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");
//print_r($_POST);
if ($_POST['name'] && $_POST['tel'] && $_POST['addr'] && $_POST['email'] && $_POST['goal'] && $_POST['high'] &&
$_POST['weight'] && $_POST['message'])
{
$addsql = "INSERT INTO d90usr (`name`, `tel`, `addr`, `email`, `goal`, `high`, `weight`, `message`) VALUES ('".$_POST['name']."',
'".$_POST['tel']."',
'".$_POST['addr']."', '".$_POST['email']."', '".$_POST['goal']."', '".$_POST['high']."', '".$_POST['weight']."',
'".strip_tags($_POST['message'])."')";
//echo ' |