PHP中ADODB如何操作access数据库?
这篇主要介绍了PHP中ADODB如何操作access数据库,有一定的参考价值,感兴趣的朋友可以参考一下!
<?php //定义数据库变量 $DB_TYPE = "mysql"; $DB_HOST = "localhost"; $DB_USER = "root"; $DB_PASS = ""; $DB_DATABASE = "ai-part"; require_once("../adodb/adodb.inc.php"); $db = NewADOConnection("$DB_TYPE");//建立数据库对象 $db->debug = true;//数据库的DEBUG测试,默认值是false $ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;//返回的记录集形式,关联形式 /*** 返回的记录集形式 define('ADODB_FETCH_DEFAULT',0); define('ADODB_FETCH_NUM',1); define('ADODB_FETCH_ASSOC',2); define('ADODB_FETCH_BOTH',3); 以上常量,在adodb.inc.php里定义了,也就是可用"$ADODB_FETCH_MODE=2"方式 ADODB_FETCH_NUM 返回的记录集中的索引,是数字形式,即数据库字段的排序顺序值 ADODB_FETCH_ASSOC 返回的记录集中的索引,是原数据库字段名 ADODB_FETCH_BOTH 和 ADODB_FETCH_DEFAULT 是同时返回以上两种。某些数据库不支持 An example: $ADODB_FETCH_MODE = ADODB_FETCH_NUM; $rs1 = $db->Execute('select * from table'); $ADODB_FETCH_MODE = ADODB_FETCH_ASSOC; $rs2 = $db->Execute('select * from table'); print_r($rs1->fields); # 返回的数组是: array([0]=>'v0',[1] =>'v1') print_r($rs2->fields); # 返回的数组是: array(['col1']=>'v0',['col2'] =>'v1') ***/ //连接数据库,方法有Connect,PConnect,NConnect,一般使用Connect if (!@$db->Connect("$DB_HOST", "$DB_USER", "$DB_PASS", "$DB_DATABASE")) { exit('<a href="/">服务器忙,请稍候再访问</a>'); } /* $db-> $rs-> 此类的使用方法 Execute($sql),执行参数中的$sql语句 SelectLimit($sql,$numrows=-1,$offset=-1) $numrows:取几条记录,$offset,从第几条开始取,一般是用于分页,或只取出几条记录的时候用 */ //Example: 取出多个记录 $sql = "Select * FROM table orDER BY id DESC"; if (!$rs = $db->Execute($sql)) {//执行SQL语句,并把结果返回给$rs变量 echo $db->ErrorMsg();//这个是打印出错信息 $db->Close();//关闭数据库 exit(); } while (!$rs->EOF) {//遍历记录集 echo $rs->fields['username'] . '<br>'; //print_r($rs->fields)试试,$rs->fields['字段名'],返回的是这个字段里的值 $rs->MoveNext();//将指针指到下一条记录,否则出现死循环! } $rs->Close();//关闭以便释放内存 //插入新记录 $sql = "Insert table (user_type,username) VALUES (3, 'liucheng')"; $db->Execute($sql); //更新记录 $sql = "Update table SET user_type=3 Where id=2"; $db->Execute($sql); //删除记录 $sql = "Delete FROM table Where id=2"; $db->Execute($sql); // 取单个记录 //$db->GetRow($sql), 取第一条记录,并返回一个数组,出错返回false $sql = "Select username,password,user_type FROM table Where id=3"; $data_ary = $db->GetRow($sql); if ($data_ary == false) { echo '没有找到此记录'; exit(); } else { echo $data_ary['username'] . ' ' . $data_ary['password'] . ' ' . $data_ary['user_type'] . '<br>'; } //另一种方法 $sql = "Select username,password,user_type FROM table Where id=3"; if (!$rs = $db->Execute($sql)) { echo $db->ErrorMsg(); $db->Close(); exit(); } if (!$result = $rs->FetchRow()) { echo '没有找到此记录'; exit(); } else { echo $result['username'] . ' ' . $result['password'] . ' ' . $result['user_type'] . '<br>'; } // 取单个字段 //$db->GetOne($sql) 取出第一条记录的第一个字段的值,出错则返回false $sql = "Select COUNT(id) FROM table"; $record_nums = $db->GetOne($sql); echo $record_nums; $sql = "Select username,password,user_type FROM table Where user_id=1"; $result = $db->GetOne($sql); echo $result;//打印出username的值 /* 在进行添加,修改,删除记录操作时, 要对字符串型的字段,使用$db->qstr()对用户输入的字符进行处理, 对数字型字段,要进行数据判断 更新记录,注意:这是针对php.ini中,magic_quotes被设置为Off的情况,如果不确定,可以使用 $db->qstr($content,get_magic_quotes_gpc()) 注意:content= 等号右边,没有单引号 */ $sql = "Update table SET content=" . $db->qstr($content) . " Where id=2"; $db->Execute($sql); /*$db->Insert_ID(),无参数,返回刚刚插入的那条记录的ID值,仅支持部分数据库,带auto-increment功能的数据库,如PostgreSQL, MySQL 和 MS SQL */ //Example: $sql = "Insert table (user_type,username) VALUES (3, 'liucheng')"; $db->Execute($sql); $data_id = $db->Insert_ID(); echo $data_id; /*$db->GenID($seqName = 'adodbseq',$startID=1),产生一个ID值.$seqName:用于产生此ID的数据库表名,$startID:起始值,一般不用设置,它会把$seqName中的值自动加1.支持部分数据库,某些数据库不支持 Insert_ID,GenID,一般我用GenID,使用它的目的,是在插入记录后,要马上得到它的ID时,才用 */ /*Example: 先创建一个列名为user_id_seq的表,里面只有一个字段,id,int(10),NOT NULL,然后插入一条值为0的记录 */ $user_id = $db->GenID('user_id_seq'); $sql = "Insert table (id, user_type,username) VALUES (" . $user_id . ", 3, 'liucheng')"; $db->Execute($sql); /* $rs->RecordCount(),取出记录集总数,无参数 它好像是把取出的记录集,用count()数组的方法,取得数据的数量 如果取大量数据,效率比较慢,建议使用SQL里的COUNT(*)的方法 $sql = "Select COUNT(*) FROM table", 用此方法时,不要在SQL里加ORDER BY,那样会降低执行速度 Example: */ $sql = "Select * FROM table orDER BY id DESC"; if (!$rs = $db->Execute($sql)) { echo $db->ErrorMsg(); $db->Close(); exit(); } $record_nums = $rs->RecordCount(); /* 如果想对某一结果集,要进行两次同样的循环处理,可以用下面方法 以下,只是一个例子,只为说明$rs->MoveFirst()的使用方法 */ $sql = "Select * FROM table orDER BY id DESC"; if (!$rs = $db->Execute($sql)) { echo $db->ErrorMsg(); $db->Close(); exit(); } $username_ary = array(); while (!$rs->EOF) { $username_ary[] = $rs->fields['username'] echo $rs->fields['username'] . '<br>';//print_r($rs->fields)试试,$rs->fields['字段名'],返回的是这个字段里的值 $rs->MoveNext();//将指针指到下一条记录,不用的话,会出现死循环! } $username_ary = array_unique($username_ary); $rs->MoveFirst();//将指针指回第一条记录 while (!$rs->EOF) { echo $rs->fields['password'] . '<br>';//print_r($rs->fields)试试,$rs->fields['字段名'],返回的是这个字段里的值 $rs->MoveNext();//将指针指到下一条记录 } $rs->Close(); //当本页程序,对数据库的操作完毕后,要$db->Close(); $db->Close(); /*一个不错的方法 */ if (isset($db)) { $db->Close(); } ?>
【相关教程推荐】
1. php编程从入门到精通全套视频教程
2. php从入门到精通
3. bootstrap教程

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。
