導航:首頁 > 編程大全 > php資料庫類pdo

php資料庫類pdo

發布時間:2023-03-17 00:35:02

㈠ PHP採用pdo方式訪問資料庫時,exec方法和prepare方法有什麼區別

區弊灶羨別是:辯閉
PHP採用pdo方式訪問資料庫時,您不必再使用再為它們封裝資料庫操作類,只需要使用PDO介面中的方法就可以對各種資料庫租拍進行操作。

㈡ 怎麼樣通過php在資料庫抽象層簡單使用PDO

測試代碼如下:<?php/**************************@Filename: pdotest.php@Content : PDO操作激彎MySQL,Access(測試)**************************/if($_GET['db'] == 'mysql'){ $dns = 'mysql:host=localhost;dbname=test'; $dbuser = 'root'; $dbpass = 'root'; $db = new PDO($dns,$dbuser,$dbpass);}else{ $db = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=".getcwd()."//test.mdb");}if($_POST['reg']){ $db->exec("INSERT INTO t_user (name,email) VALUES ('".$_POST['name']."','".$_POST['email']."') ;"); // header('Location:'.$_SERVER['PHP_SELF']); ?> <a href="pdotest.php">返回</a> <?}else{ $html = '<div id="new"> <form action="'.$_SERVER['REQUEST_URI'].'" method="post"> Name: <input type="text" name="name" size="10" /> Email: <input type="text" name="email"明敬悶 size="15" /> <input type="submit" name="reg" value="Register" /> </form></div>'; $re = $db->query("SELECT uid,name,email FROM t_user ORDER BY email ;"); while($rs = $re->fetch()) { $userlisthtml .= '<tr><td>'.$rs['uid'].'</td><td>'.$rs['name'].'</td><td>'.$rs['email'].'</td></tr>'; } $html .= '<div id="list"> <table border="1"> <caption>User List</caption> <thead> <tr><th>ID</th><th>Name</th><th>Email</th></tr> </thead> <tbody>'.$userlisthtml.' </tbody> </稿謹table></div>';}echo $html;?>

㈢ PHP實現的pdo連接資料庫並插入數據功能簡單示例

本文實例講述了PHP實現的pdo連接資料庫並插入數據功能。分享給大家供大家參考,具體如下:
創建橡陪配置文件
pdo_config.php
<?php
$db_Type
=
"mysql";//資料庫類型
$host
=
"localhost";//主機名
$dbName
=
"test";//資料庫名
$userName
=
"root";//用戶名
$password
=
"梁旅蠢root";//密碼
$dsn
=
"{$db_Type}:host={$host};dbname={$dbName}";
?>
pdo插入資料庫
pdo_insert.php
<?php
header('Content-type:text/html;
charset=utf-8');
require
'pdo_config.php';
try{
$pdo
=
new
PDO
($dsn,$userName,$password);//創建一個連接對象
$pdo->exec('set
names
utf8');//設置編碼
$sql
=
"INSERT
student
(name,email)
VALUES
('李四','123@qq.com')";
$pdo->exec($sql);
}catch
(PDOException
$e){
die('操作失敗'.$e->getMessage());
}
//關閉連接
$pdo
=
null;
?>
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP基於pdo操作資料庫技巧總結》、《php+mysqli資料庫程序設計技巧總結》、《php面向對象程序設計入門教程》、《php字元串(string)用法總結》、《php+mysql資料庫操作入鎮雀門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
您可能感興趣的文章:關於php連接mssql:pdo
odbc
sql
serverPHP5中使用PDO連接資料庫的方法PHP中PDO連接資料庫中各種DNS設置方法小結ThinkPHP框架基於PDO方式連接資料庫操作示例PHP使用ODBC連接資料庫的方法tp5(thinkPHP5)框架連接資料庫的方法示例PHP7使用ODBC連接SQL
Server2008
R2資料庫示例【基於thinkPHP5.1框架】tp5(thinkPHP5)操作mongoDB資料庫的方法thinkPHP5實現資料庫添加內容的方法tp5(thinkPHP5)框架資料庫Db增刪改查常見操作總結PHP利用pdo_odbc實現連接資料庫示例【基於ThinkPHP5.1搭建的項目】

㈣ php連接資料庫關於PDO類和PDOStatement類的區別是什麼

這代表兩個不同的對象,看蔽乎一下PDO::query()的定義:

public PDOStatement PDO::query ( string $statement )

可以知道query返回的結果是PDOStatement實例對象,那麼你至少可枯遲以知道PDOStatement可以用來操作結果集了。

看一下PDOStatement類有哪些方法:

http://php.net/manual/zh/class.pdostatement.php

發現有fetch,fetchAll等熟悉的功能,不是么?

然後再來看看PDO::prepare()方法

public PDOStatement PDO::prepare ( string $statement [, array $driver_options = array() ] )

它也是返回的PDOStatement,按照手冊的說法,PDOStatement代表一條預處理語句,並在該語句被執行後代表一個相關的結果集。

也就是說,如果你通過宏敗悉PDO::query()直接查詢,那麼返回的PDOStatement就表示一個結果集。

如果你通過PDO::prepare()查詢,實際上並未執行sql,而是得到一個預處理語句(PDOStatement),然後你調用PDOStatement::execute()方法真正執行。

㈤ 為什麼 PHP 應該使用 PDO 方式訪問資料庫

1、方便不同資料庫之間的切換
資料庫有很多種,比如mysql,mysqli,Oracle,Access等等,使用pdo方式連接資料庫,只需要定義DSN即可以連接各種叢橡橋類型的資料庫
2、PDO有預處理機制,資料庫操作更快,而且預處理機制可以有效的防止數據注入,降低滲猛資料庫被黑如纖客攻擊的可能

㈥ php使用mysqli和pdo擴展,測試對比mysql資料庫的執行效率完整示例

本文實例講述了php使用mysqli和pdo擴展,測試對比mysql資料庫的執行效率。分享給大家供大家參考,具體如下:
<?php
/**
*
測試pdo和mysqli的執行效率
*/
header("Content-type:text/html;charset=utf-8");
//通過pdo鏈接資料庫
$pdo_startTime
=
microtime(true);
$pdo
=
new
PDO("mysql:host=localhost;dbname=test","root","1234",array(PDO::MYSQL_ATTR_INIT_COMMAND
=>
"SET
NAMES'utf8';"));
for($i=1;$i<=100;$i++){
$title
=
"pdo標題".$i;
$content
=
"pdo內容".$i;
$addtime
=
time();
$user_id
=
$i;
$pdo_sql
=
"INSERT
INTO
`article`(`title`,`content`,`addtime`,`user_id`)
VALUES(:title,:content,:addtime,:user_id)";
$sth
=
$pdo->prepare($pdo_sql);
$sth->bindParam(':title',$title);
$sth->bindParam(':content',$content);
$sth->bindParam(':addtime',$addtime);
$sth->bindParam(':user_id',$user_id);
$sth->execute();
}
$pdo_endTime
=
microtime(true);
$pdo_time
=
$pdo_endTime
-
$pdo_startTime;
echo
$pdo_time;
echo
"<hr/>";
//通過mysql鏈接資料庫
$mysqli_startTime
=
microtime(true);
$mysqli
=
mysqli_connect("localhost","root","1234","test")
or
die("數據連接失敗");
mysqli_query($mysqli,"set
names
utf8");
for($i=1;$i<=100;$i++){
$title
=
"mysqli標題".$i;
$content
=
"mysqli內容".$i;
$addtime
=
time();
$user_id
=
$i;
$sql
=
"INSERT
INTO
`article`(`title`,`content`,`addtime`,`user_id`)
VALUES('".$title."','".$content."',".$addtime.",".$user_id.")";
mysqli_query($mysqli,$sql);
}
$mysqli_endTime
=
microtime(true);
$mysqli_time
=
$mysqli_endTime
-
$mysqli_startTime;
echo
$mysqli_time;
echo
"<hr/>";
if($pdo_time
>
$mysqli_time){
echo
"pdo的執行時間是mysqli的".round($pdo_time/$mysqli_time)."倍";
}else{
echo
"mysqli的執行時間是pdo的".round($mysqli_time/$pdo_time)."倍";
}
測試結果:其實經過多次測試,pdo和mysqli的執行效率差不多。
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP基於pdo操作資料庫技巧總結》、《php+mysqli資料庫程序設計技巧總結》、《php面向對象程序設計入門教程》、《php字元串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
您可能感興趣的文章:php使用mysqli和pdo擴展,測試對比連接mysql資料庫的效率完整示例php中資料庫連接方式pdo和mysqli對比分析php中關於mysqli和mysql區別的一些知識點分析php操作mysqli(示例代碼)php封裝的mysqli類完整實例PHP以mysqli方式連接類完整代碼實例php簡單解析mysqli查詢結果的方法(2種方法)php中mysql連接方式PDO使用詳解Php中用PDO查詢Mysql來避免SQL注入風險的方法php
mysql
PDO
查詢操作的實例詳解PHP實現PDO的mysql資料庫操作類

㈦ php連接資料庫關於PDO類和PDOStatement類的區別是什麼

PDO可以兼容更多資料庫,同樣的語法訪問不跡兆同搭梁資料庫;

配置簡單,操作方便;

PDO對預處理語句的支持需要使用PDOStatement類對象,所以PDOStatement類只是PDO的一部分,這個類比較大作用是防止sql注入:

<?php
//...省略PDO連接資料庫代碼
$query="insertintocontactinfo(name,address,phone)values(:name,:address,:phone)";
$stmt=$dbh->prepare($query);//調用PDO對象中的prepare()方法
$stmt->blinparam(':name',$name);//將變數$name的引用綁定到准備好的查詢名字參數":name"中
$stmt->blinparam(':address',$address);
$stmt->blinparam(':phone',phone);
//...
?>

它是每個欄位值可以對知州運應替換的,pdo可以對每個值進行處理,防止sql注入;

㈧ Php中的pdo是什麼意思啊舉個例子指點迷津!

就是操作資料庫的方法,
pdo就是把操作資料庫的函數封裝成一個pdo類,其間做了安全驗證而已。
在使用PDO之前首先要設置PHP.INI文件,使PHP支持PDO,因為PHP5默認是不支持的。在PHP安裝目錄下找到PHP.INI文件,打開並搜索extension=php_pdo.dll 和 extension=php_pdo_mysql.dll,將前面的分號(;)去掉,重啟apache即可。
接下來我們就開始寫PHP代碼了,首先是連接資料庫,看下面的例子:
<!--?php
define('DB_NAME', 'pdo_test');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8');
try {
$DBH = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME, DB_USER, DB_PASSWORD);
$DBH--->exec('SET CHARACTER SET '.DB_CHARSET);
$DBH->exec('SET NAMES '.DB_CHARSET);
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br>";
die();
}
?>
連接成功後,我們需要對資料庫中的數據進行增刪改查操作,這里主要用到exec和query兩個函數。

示例:
<!--?php
//增加數據
$sql_insert = 'Insert INTO wp_options(blog_id,option_name,option_value,autoload) VALUES (0,'.time().rand(1,100).','.time().rand(1,100).',\'no\')';
$back = $DBH--->exec($sql_insert); //返回 bool 的true or fal
$lastInsertId = $DBH->lastInsertId();
//刪除數據
$sql_delete = 'Delete FROM wp_options Where option_id='.$lastInsertId;
$back = $DBH->exec($sql_delete); //返回 bool 的true or fal
$lastInsertId = $DBH->lastInsertId();
//更新數據
$sql_update = 'Update wp_options SET option_name = \''.time().rand(1,100).'\' Where option_id='.$lastInsertId;
$lastUpdateId = $DBH->lastInsertId(); //返回的對應的操作的id
//查詢數據
$sql_select = 'Select option_id FROM wp_options orDER BY option_id DESC LIMIT 4 ';
$back = $DBH->query($sql_select); //返回一個對象 這個對象可以用foreach 直接遍歷循環 循環的為查詢的結果集
$back = $DBH->query($sql_select)->fetch(); //返回一條數據結果 這個對象可以用foreach 直接遍歷循環 循環的為查詢的結果集
$back = $DBH->query($sql_select)->fetchAll(); //返回一個數組 這個對象可以用foreach 直接遍歷循環 循環的為查詢的結果集
$back = $DBH->query($sql_select)->fetchColumn(0); //返回一個欄位字元串,這個字元串是返回的記錄的第一條記錄的第一個欄位
?>
到這里,PDO的基本操作基本上結亮芹束了。對於一般的企業敬滲畢網站,小型的管理系統基本上能喊判滿足了,但是,如果我們開發大型網站或者邏輯較復雜的管理系統,僅僅靠數據的讀寫是遠遠不夠的,我們可能還需要對資料庫的存儲過程、事務等對象進行操作,下面我們繼續看看用PDO是如何實現的。如果還有更多問題可以去後盾網論壇問題求助專區,希望我的回答對你有幫助!

㈨ PHP使用pdo連接access資料庫並循環顯示數據操作示例

本文實例講述了PHP使用pdo連接access資料庫並循環顯示數據操作。分享給大家供大家參考,具體如下:
PDO連接與查詢:
try
{
$conn
=
new
PDO("odbc:driver={microsoft
access
driver
(*.mdb)};
dbq=".realpath("MyDatabase.mdb"))
or
die("鏈接錯誤!");
//echo
"鏈接成功!";
}
catch(PDOException
$e){
echo
$e->getMessage();
}
$sql
=
"select
*
from
users";
1.
foreach()方法
foreach
($conn->query($sql)
as
$row)
{
$row["UserID"];
$row["UserName"];
$row["UserPassword"];
}
2.
while()方法
$rs
=
$conn->query($sql);
$rs->setFetchMode(PDO::FETCH_NUM);
while($row=$rs->fetch()){
$row[0];
$row[1];
$row[2];
}
php使用PDO抽象層獲取查詢結果,主要有三種方式:
(1)PDO::query()查詢。
看下面這段php代碼:
<?php
//PDO::query()查詢
$res
=
$db->query('select
*
from
user');
$res->setFetchMode(PDO::FETCH_NUM);
//數字索引方式
while
($row
=
$res->fetch()){
print_r($row);
}
?>
(2)PDO->exec()處理sql
<?php
//PDO->exec()處理sql
$db->setAttribute(PDO::ATTR_ERRMODE,
PDO::ERRMODE_EXCEPTION);
$res
=
$db->exec("insert
into
user(id,name)
values('','php點點通')");
echo
$res;
?>
(3)PDO::prepare()預處理執行查詢
<?php
//PDO::prepare()預處理執行查詢
$res
=
$db->prepare("select
*
from
user");
$res->execute();
while
($row
=
$res->fetchAll())
{
print_r($row);
}
?>
setAttribute()
方法是設置屬性,常用參數如下:
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()
對上面總結如下:
查詢操作主要是PDO::query()、PDO::exec()、PDO::prepare()。
PDO->query()

處理一條SQL語句,並返回一個「PDOStatement」
PDO->exec()

處理一條SQL語句,並返回所影響的條目數
PDO::prepare()主要是預處理操作,需要通過$rs->execute()來執行預處理裡面的SQL語句
最後介紹兩個常用的函數:
(1)fetchColumn()獲取指定記錄里一個欄位結果,默認是第一個欄位!
<?php
$res
=
$db->query('select
*
from
user');
//獲取指定記錄里第二個欄位結果
$col
=
$res->fetchColumn(1);
echo
$col;
?>
(2)fetchAll(),從一個結果集中獲取數據,然後存放在關聯數組中
<?php
$res
=
$db->query('select
*
from
user');
$res_arr
=$res->fetchAll();
print_r($res_arr);
?>
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP基於pdo操作資料庫技巧總結》、《php+Oracle資料庫程序設計技巧總結》、《PHP+MongoDB資料庫操作技巧大全》、《php面向對象程序設計入門教程》、《php字元串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
您可能感興趣的文章:PHP使用PDO連接ACCESS資料庫PHP資料庫鏈接類(PDO+Access)實例分享php中mysql連接方式PDO使用詳解關於php連接mssql:pdo
odbc
sql
serverPhp中用PDO查詢Mysql來避免SQL注入風險的方法php中在PDO中使用事務(Transaction)全新的PDO資料庫操作類php版(僅適用Mysql)php使用pdo連接並查詢sql資料庫的方法php使用pdo連接mssql
server資料庫實例PHP實現PDO的mysql資料庫操作類

㈩ pdo是什麼意思

PDO(PHP Data Objects)是一種在PHP里連接資料庫的使用介面。PDO與mysqli曾經被建議用來取代原本PHP在用的mysql相關函數,基於資料庫使用的安全性,因為後者欠缺對於SQL注入的防護。

PHP 數據對象(PDO) 擴展為PHP訪問資料庫定義了一個輕量級的一致介面。實現 PDO 介面鉛腔的每個資料庫驅動可以公開具體資料庫的特性作為標准擴展功能。 注意利用 PDO 擴展自身並不能實現任何資料庫功能;必須使用一個具體資料庫的 PDO 驅動來訪問資料庫服務。

相關信息:

PDO 提供了一個數據訪問抽象層,這意味著,不管使用哪種資料庫,都可以用相同的函數(方法)來查詢和獲取數據。 PDO不提供資料庫抽象層;它不首激凳會重寫 SQL,也不會模擬缺失的特性。如果需要的話,應該使用一個成熟的抽象層。

從 PHP 5.1開始附帶了 PDO,在 PHP 5.0 中是作為者旅一個 PECL 擴展使用。 PDO 需要PHP 5核心的新OO特性,因此不能在較早版本的 PHP 上運行。

閱讀全文

與php資料庫類pdo相關的資料

熱點內容
linuxwtmp亂碼 瀏覽:16
appcan打開文件 瀏覽:321
字元信息與cad文件版本對照表 瀏覽:11
手機電腦文件怎麼傳 瀏覽:730
網路連接問題怎麼才能聯網 瀏覽:810
復制過的文件在哪裡才能全部找到 瀏覽:424
bat文件夾序號 瀏覽:980
愛思助手導文件在哪裡 瀏覽:779
微信種子群是多少 瀏覽:566
ps真功夫後期教程 瀏覽:645
英雄聯盟美服最新版本 瀏覽:41
樂秀視頻的文件夾 瀏覽:92
華為打開旁白關閉網路怎麼解決 瀏覽:399
劍靈升星還是升級快 瀏覽:885
做伴app軟體如何退款 瀏覽:269
linuxcpu100 瀏覽:70
javawmi 瀏覽:171
java調用sdk的api 瀏覽:17
淘寶導航條透明代碼 瀏覽:557
安卓彈幕代碼 瀏覽:332

友情鏈接