當前位置:首頁 » 編程語言 » php關閉pdo

php關閉pdo

發布時間: 2023-07-10 07:00:02

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擴展問題

就跟樓上的說的差不多 php.ini 首先找到你的php.ini文件 用phpinfor()看看 你的ini文件在什麼地方 找到後打開 找你上面提示的那幾個文件 如果有把前面的分號「;」去掉 如果沒得 用同樣的方式加上 然後再到ext文件夾下面看看那幾個文件在不在 不在可以到網上去下 完了你還可以開啟ini模塊測試提示 看那些還沒配置好 完了就差不多了 重啟一下

③ PHP中PDO的事務處理如何分析

事務處理具有四個特性:原子性、一致性、獨立性、持久性。

並不是所有的資料庫都支持事務處理的,PDO 為能夠執行事務處理的資料庫提供事務支持。

配置事務處理需注意:

1、關閉 PDO 的自動提交;

$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, false);

2、開啟一個事務需要的方法;

$pdo->beginTransaction(); // 開啟一個事務
$pdo->commit(); // 提交事務
$pdo->rollback(); // 回滾事務

3、一般事務處理是運行在 try...catch...語句中,當事務失敗時執行 catch 代碼段。

php
try {
$pdo->beginTransaction(); // 開啟一個事務
$row = null;
$row = $pdo->exec("xxx"); // 執行第一個 SQL
if (!$row)
throw new PDOException('提示信息或執行動作'); // 如出現異常提示信息或執行動作
$row = $pdo->exec("xxx"); // 執行第二個 SQL
if (!$row)
throw new PDOException('提示信息或執行動作');
$pdo->commit();
} catch (PDOException $e) {
$pdo->rollback(); // 執行失敗,事務回滾
exit($e->getMessage());
}
?>

在事務中的 SQL 語句,如果出現錯誤,那麼所有的 SQL 都不執行。當所有 SQL 有無誤的時候,才提交執行。

④ 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注入;

熱點內容
安卓手機如何有蘋果的emoji 發布:2025-02-09 02:11:02 瀏覽:807
編譯原理已知語言求文法習題 發布:2025-02-09 02:05:15 瀏覽:131
中國首個具有世界影響力的編譯器 發布:2025-02-09 01:56:21 瀏覽:719
tomcat上傳超時 發布:2025-02-09 01:41:42 瀏覽:483
androidactivity豎屏 發布:2025-02-09 01:41:40 瀏覽:377
家庭配置怎麼合理 發布:2025-02-09 01:36:14 瀏覽:807
頭條軍事源碼 發布:2025-02-09 01:31:53 瀏覽:997
androidintent視頻 發布:2025-02-09 01:31:43 瀏覽:858
歐姆龍plc密碼如何設置 發布:2025-02-09 01:24:31 瀏覽:687
php支持jpeg 發布:2025-02-09 01:24:22 瀏覽:803