Table des matières
PHP操作Access数据库类
Jun 20, 2016 pm 01:01 PM
PHP操作ACCESS数据库类库分享
/* FileName:cls_access.php Summary: Access数据库操作类 ************************************* 使用范例: ======================== $databasepath='D:/wwwroot/cef/www/class/testdb.mdb'; //或者$databasepath='testdb.mdb'; $dbusername=''; $dbpassword=''; require_once('cls_access.php'); $access=new Access($databasepath,$dbusername,$dbpassword); print_r($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; } }
Copier après la connexion
这个类用的是ODBC,并不想网上说的要用ODBC数据源。我直接新建一个*.mdb文件就可以使用。
再附上部分常用COM方式操作Access代码:
$db = $_SERVER['DOCUMENT_ROOT'].'/zhuanti/ugdkfjlsg54356k6546jk654gfslkg6544s.mdb'; $conn = new COM('ADODB.Connection') or die('can not start Active X Data Objects'); $conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");
Copier après la connexion
JS调用页js.php
include_once('conn.php'); $rs = $conn->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.='<table border="0" align="center"><tr>'; for ($i=1; $i<4; $i++){ $uhtml.='<td width="240" align="center">'; if ($gbinf[$i]['usfile']){ $uhtml.='<a href="/index.php" target="_blank" title="'.$gbinf[$i]['usname'].'"><img src="/static/imghw/default1.png" data-src="/'.$gbinf[$i]['thumb'].'" class="lazy".$gbinf[$i]['thumb'].'" / alt="PHP操作Access数据库类" ></a><br />'.$gbinf[$i]['usprovince'].' '.$gbinf[$i]['usname']; if ($gbinf[$i]['usage'] != 0){ $uhtml.=' ('.$gbinf[$i]['usage'].'岁)<br />'; } $uhtml.='<div style="width:180px; height:40px; overflow:hidden; text-align:left"><a href="/index.php" target="_blank" title="'.$gbinf[$i]['usmessage'].'" style="line-height:20px; font-size:12px">'.$gbinf[$i]['usmessage'].'</a></div>'; } $uhtml.='</td>'; } $uhtml.='</tr></table>'; echo "document.write('".$uhtml."')";
Copier après la connexion
又一段代码例子,以本文件路径确定数据库路径:
/* =========================== 数据库连接配置 */ $db = getcwd().'\images\90d\90dicr_os6546oftff_ic543e_cces_4535s.mdb'; $conn = new COM('ADODB.Connection') or die('can not start Active X Data Objects'); $conn->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 '<hr />'.$addsql; $rsadd = $conn->Execute($addsql); echo '<script type="text/javascript">alert("报名成功,请等待工作人员与您联系!");</script>'; echo '<p align="center"><h1 id="29f8444e8c2583f8d47c308266380cd6">恭喜您报名成功,请等待工作人员与您联系!</h1></p>'; echo '<p align="center"><a href="90d.php">返回活动首页</a> <a href="/">返回商城首页</a></p>'; }
Copier après la connexion
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils chauds Tags

Article chaud
Musée de deux points: Guide de localisation de Bungle Wasteland
4 Il y a quelques semaines
By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines
By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines
By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds Tags

Free AI Presentation Maker
Outil d'IA pour créer facilement des présentations professionnelles.

PDFChatto
Service de réponse à PDF propulsé par l'AI et de réponses aux questions.

AI PPT Maker
AI PPT Maker est un fabricant de présentation IA gratuit qui vous permet de créer des présentations époustouflantes en quelques secondes avec Deepseek ou Chatgpt.

DeepSeek V3
Solutions d'IA instantanées utilisant des modèles avancés en profondeur.

Image Translator / Manga translator
Outil AI pour traduire le texte en images sur plus de 100 langues.
