1. 程式人生 > >PHP中MySQL、MySQLi和PDO的用法和區別

PHP中MySQL、MySQLi和PDO的用法和區別

PHP的MySQL擴充套件(優缺點)

設計開發允許PHP應用與MySQL資料庫互動的早期擴充套件。mysql擴充套件提供了一個面向過程 的介面;

並且是針對MySQL4.1.3或更早版本設計的。因此,這個擴充套件雖然可以與MySQL4.1.3或更新的數 ;

據庫服務端 進行互動,但並不支援後期MySQL服務端提供的一些特性。

PHP的mysqli擴充套件

mysqli擴充套件,我們有時稱之為MySQL增強擴充套件,可以用於使用 MySQL4.1.3或更新版本中新的高階特性;

mysqli擴充套件在PHP 5及以後版本中包含;

mysqli擴充套件有一系列的優勢,相對於mysql擴充套件的提升主要有:面向物件介面、 prepared語句支援、多語句執行支援、事務支援、增強的除錯能力、嵌入式服務支援。

PHP資料物件(PDO)

PHP資料物件,是PHP應用中的一個數據庫抽象層規範。PDO提供了一個統一的API介面可以,使得你的PHP應用不去關心具體要 連線的資料庫伺服器系統型別。也就是說,如果你使用PDO的API,可以在任何需要的時候無縫切換資料庫伺服器。

下面是我這個星期做過的幾種資料庫連線的方式:

Mysql連線:

?
1 2 3 4 5 6 7 8 9 10 11 <?php $conn = @ mysql_connect(
"localhost""root"""or die("資料庫連線錯誤"); mysql_select_db("bbs"$conn); mysql_query("set names 'utf8'"); echo "資料庫連線成功"; ?>

Mysqli連線:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <?php $conn
= mysqli_connect('localhost''root''''bbs'); if(!$conn){ die("資料庫連線錯誤" . mysqli_connect_error()); }

相關推薦

PHPMySQLMySQLiPDO用法區別

PHP的MySQL擴充套件(優缺點) 設計開發允許PHP應用與MySQL資料庫互動的早期擴充套件。mysql擴充套件提供了一個面向過程 的介面; 並且是針對MySQL4.1.3或更早版本設計的。因此,這個擴充套件雖然可以與MySQL4.1.3或更新的數 ;

淺談PHPpackunpack的詳細用法

特殊 ++ 位置 per 小端 bsp 分享 .com 十六進制 轉自:https://segmentfault.com/a/1190000008305573 PHP中有兩個函數pack和unpack,很多PHPer在實際項目中從來沒有使用過,甚至也不知道這兩個方法是

PHP連接MySQL數據庫的三種方式(mysqlmysqlipdo)

方式 odbc ram close 多語 utf 診斷 統一 連接數據庫 PHP與MySQL的連接有三種API接口,分別是:PHP的MySQL擴展 、PHP的mysqli擴展 、PHP數據對象(PDO) ,下面針對以上三種連接方式做下總結,以備在不同場景下選出最優方案。 P

phpmysql操作工具類pdomysqli

從php7開始mysql擴充套件庫已經被全面移除,原因暫不清楚,官方推薦我們使用mysqli和pdo,這次就針對pdo和mysqli分享下我的兩個工具類 1 PDO的mysql操作工具類 這種方式已經用的越來越多了,pdo使用面向物件的方式操作資料庫,pdo是很多人都比較

phpprint_rvar_dumpvar_export幾個函式的用法區別php setcookie一些限制。php不同路徑cookies取值問題。PHP獲取站點根目錄

php中print_r、var_dump和var_export幾個函式的用法區別   print_r ( $array/$var )  print 是列印的意思,而r則取自Array的單詞,那麼該函式的功能就是列印陣列內容,它既可以列印陣列內容,也可以列印普通的變數

PHPVC6VC9TSNTS版本的區別用法詳解

進行 系統資源 stc 詳解 ron 線程安全 info 啟動 win 1. VC6與VC9的區別: VC6版本是使用Visual Studio 6編譯器編譯的,如果你的PHP是用Apache來架設的,那你就選擇VC6版本。 VC9版本是使用Visual Studio 20

php$_REQUEST $_GET $_POST $_COOKIE 的關系區別

one 相同 存取 dev efault light 變量 指定 request 看到REQUEST可以通吃GET 、POST 、COOKIE 後 感覺這個$_REQUEST太強大了是不是其他的幾個超級變量就沒有用了,下面對他們整體做個比較: 1.安全性 post>

jQuerywrapwrapAllwrapInner用法以及區別

wrap、wrapAll和wrapInner都是包裹節點,但是在使用的時候總是容易混淆,不太明白具體的區別。簡單的來說;wrap(): 將所有匹配元素單獨包裹起來wrapAll(): 將所有匹配元素一

php include include_oncerequirerequire_once4個語言結構的含義區別

  對於不同頁面中的相同程式碼部分,可以將其分離為單個檔案 ,通過include引入檔案. 可以提高程式碼的複用率 include 和include_once都有引入檔案的作用 使用的語法是 :include | include_once  "檔案的路徑";

內容包裝:jQuerywrapwrapAllwrapInner用法以及區別

wrap,   使用函式來規定在每個被選元素周圍包裹的內容。 <ul>   <li title='蘋果'>蘋果</li>   <li title='橘子'>橘子</li>   <li title='菠

PHPechoprintprint_rprintfsprintfvar_dump的區別比較那些事!

1、echoecho()輸出一個或多個字串。不是一個函式,而是php語句,因此您無需對其使用括號。不過,如果您希望向 echo() 傳遞一個以上的引數,那麼使用括號會發生解析錯誤。而且echo是返回void的,並不返回值,所以不能使用它來賦值。例子: <?php  

phpself parent的用法

self: 本類(不要理解成本物件) parent: 父類 在引入自身的靜態屬性/靜態方法,以及父類的方法時,可以用到. 用法: self::$staticProperty self::st

mysqlunionunion all的用法例項

1、建表資料: create table a(fname varchar(30),lname varchar(30),addr varchar(30)) insert into a values

PHP執行Mysql數據庫的備份還原

文本文件 l數據庫 pst backup 裏的 建表 文件名 log mysq 使用mysqldump命令備份 mysqldump命令將數據庫中的數據備份成一個文本文件。表的結構和表中的數據將存儲在生成的文本文件中。 mysqldump命令的工作原理很簡單。它先查出需要備份

PHP對變量使用單引號雙引號的區別

輸出 ext tex 執行 class 單引號 如果 -1 雙引號 單引號內部的變量不會執行雙引號會執行如$name = ‘hello‘;echo "the $name";會輸出 the hello而如果是單引號$name = ‘hello‘;echo ‘the $name

腳本引用使用deferasync用法區別

兩個 不依賴 doc 體驗 html 中文 htm 停止 其他 是的,就是在頁面腳本引用的時候設置defer或者async,為什麽會有這兩個屬相來輔助腳本加載那,因為瀏覽器在遇到script標簽的時候,文檔的解析會停止,不再構建document,有時打開一個網頁上會出現空

深入理解C++publicprotected及private用法

strong ostream pro index nbsp contain table bsp 新的 深入理解C++中public、protected及private用法 投稿:shichen2014 字體:[增加 減小] 類型:轉載 時間:2014-08-23 我要評論

C++引用(&)的用法應用實例

發的 高效 結果 特殊情況 副本 推薦 全局變量 對象的引用 間接 對於習慣使用C進行開發的朋友們,在看到c++中出現的&符號,可能會犯迷糊,因為在C語言中這個符號表示了取地址符,但是在C++中它卻有著不同的用途,掌握C++的&符號,是提高代碼執行效率和增強

HashMapHashTableLinkedHashMapTreeMap用法區別

strong style 取出 能力 順序 ron public ons 保存 Java為數據結構中的映射定義了一個接口java.util.Map,它有四個實現類,分別是HashMap、HashTable、LinkedHashMap和TreeMap。本節實例主要介紹這4中實

js獲取時間new date()的用法獲取時間戳

etsec 開始 ava time() 方法 spa value 元素 index 獲取時間: 1 var myDate = new Date();//獲取系統當前時間 獲取特定格式的時間: