這篇文章帶給大家pdo的相關基礎知識,PDO是PHP5新加入的一個重大功能,我們的資料庫伺服器為MySQL,所有的程式碼的資料庫操作全是一mysql或mysqli()函數來操作,希望對大家有幫助。
PDO就是PHP data Object 提供了PHP操作多種資料庫的統一的介面
## 2、為什麼要使用PDO? PDO是PHP5新加入的一個重大功能,我們的資料庫伺服器為MySQL,而所有的程式碼的資料庫操作全是一mysql()或mysqli()函數來操作,當我們的資料庫需要更換時比如換成,SQL、SERVER、PostgreSQL、MS 等,我們不可能去修改所有的程式碼!所以就要用到PDO,PDO很好的幫我們解決了這個問題,使用PDO操作非常方便,只需要修改資料來源格式,和載入對應的驅動檔到PHP.ini; 3.PDO都有哪些特點? 1)編碼的一致性 由於PHP足編碼的一致性。 PDO消除了這種不一致,提供了可用於各種資料庫的單一介面;二、PDO基本使用
3)以PDO連線為不同的資料,且有不同的資料庫驅動檔案,即我們所加入的擴充伺服器 /Apache,我的是apache,讓設定生效
(1)連接資料庫、資料庫的使用者名稱、資料庫的密碼
$password 範例:$dsn = "mysql:dbname= test;host=127.0.0.1";
且為 $password="123456";
#1 (2)宣告對象
地#"$ 3、方法解說
1新增
<?php header('content-type:text/html;charset=utf8'); //连接数据库 $dsn="mysql:dbname=test;host=127.0.0.1"; //数据库的用户名 $user="root"; //数据库的密码 $password="123456"; //生成PDO对象 $object = new PDO($dsn,$user,$password); //执行添加 $sql="insert into student(`name`,`sex`,`sex`) values('zhangsan','男','18')"; if($object->exec($sql)){ echo '添加成功'; }
(1)查詢方式一:
## (2)產生PDO物件
(3)执行查询
实现代码:
<?php header('content-type:text/html;charset=utf8'); //连接数据库 $dsn="mysql:dbname=test;host=127.0.0.1"; //数据库的用户名 $user="root"; //数据库的密码 $password="123456"; //生成PDO对象 $object = new PDO($dsn,$user,$password); $sql="select * from student"; $result = $object->query($sql); while($arr=$result->fetch()){ print_r($arr); }
查询结果为:
$result的打印结果为:
还可以用:
$data=$result->fetchAll(); print_r($student_info);
输出结果为二维数组:
注释:
1、query()执行查询语句,返回结果集对象;
2、用循环利用fetch()方法逐个的取出记录,返回的是关联数组和索引数组两种数组,和mysql_fetch_array()的返回结果一致
3、fetchAll()方法可以一次取出结果集中所有的数组,以二维数组的形式返回,但仍然是关联数组和索引数组两种数组
数字索引和关联索引都有,属于浪费资源,我们只需要关联索引:还可用用一下方式查询:
$object->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER); $result = $object->query($sql); $result->setFetchMode(PDO::FETCH_ASSOC); $result_array = $result->fetchAll(); print_r($result_array);
结果为:
注释:
setAttribute()方法是设置部分属性,主要属性有:PDO::ATTR_CASE、PDO::ATTR_ERRMODE等,我们设置的是PDO::ATTR_CASE(使用关联索引获取数据)
PDO::CASE_UPPER是设置关联索引为大写,
PDO::CASE_LOWER -- 强制列名为小写
PDO::CASE_NATURAL -- 列名按照原始方式
PDO::CASE_UPPER -- 强制列名为大写
setFetchMode()方法设置获取结果集的返回值类型,同样类型还有:
PDO::FETCH_ASSOC --关联数组形式
PDO::FETCH_NUM -- 数字索引形式数组
PDO::FETCH_BOTH --两者数组形式都有
PDO::FETCH_OBJ -- 按照对象的形式,类似于以前的mysql_fetch_object()
大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。
以上是深入了解PHP中PDO的基本運用的詳細內容。更多資訊請關注PHP中文網其他相關文章!