php與mysql的連線有三種方式,分別是:php的mysql擴充套件 、php的mysqli擴充套件 、php資料物件(pdo) ,下面針對以上三種連線方式做下總結,以備在不同場景下選出最優方案。
1、php的mysql擴充套件是設計開發允許php應用與mysql資料庫互動的早期擴充套件。mysql擴充套件提供了乙個面向過程的介面,並且是針對mysql4.1.3或者更早版本設計的。因此這個擴充套件雖然可以與mysql4.1.3或更新的資料庫服務端進行互動,但並不支援後期mysql服務端提供的一些特性。由於太古老,又不安全,所以已被後來的mysqli完全取代。示例:
<?php
$mysql_conn = @mysql_connect('127.0.0.1:3306','root','root@123');
if (!$mysql_conn)
mysql_query("set names 'utf8'");//編碼轉化
$select_db = mysql_select_db('mydb');
if (!$select_db)
$sql = "select * from user;";
$res = mysql_query($sql);
if (!$res)
while ($row = mysql_fetch_assoc($res))
mysql_close($mysql_conn);
?>
2、php的mysqli擴充套件,我們有時稱之為mysql增強擴充套件,可以用於使用 mysql4.1.3或更新版本中新的高階特性。其特點為:物件導向介面 、prepared語句支援、多語句執行支援、事務支援 、增強的除錯能力、嵌入式服務支援 、預處理方式完全解決了sql注入的問題。不過其也有缺點,就是只支援mysql資料庫。如果你要是不操作其他的資料庫,這無疑是最好的選擇。示例:
<?php
// 方式一
$mysqli = @new mysqli('127.0.0.1:3306','root','root@123');
if ($mysqli->connect_errno)
$mysqli->query("set names 'utf8';");//編碼轉化
$select_db = $mysqli->select_db('mydb');
if (!$select_db)
$sql = "select uid from user where name = 'joshua';";
$res = $mysqli->query($sql);
if (!$res)
while ($row = $res->fetch_assoc())
$res->free();
$mysqli->close();
// 方式二
$conn = mysqli_connect('127.0.0.1','root','root@123','mydb', 3306);
if (!$conn)
$sql = "select uid from user where name = 'joshua'";
$result = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_assoc($result))
?>
3、pdo是php data objects的縮寫,是php應用中的乙個資料庫抽象層規範。pdo提供了乙個統一的api介面可以使得你的php應用不去關心具體要連線的資料庫伺服器系統型別,也就是說,如果你使用pdo的api,可以在任何需要的時候無縫切換資料庫伺服器,比如從oracle 到mysql,僅僅需要修改很少的php**。其功能類似於jdbc、odbc、dbi之類介面。同樣,其也解決了sql注入問題,有很好的安全性。不過他也有缺點,某些多語句執行查詢不支援(不過該情況很少)。示例:
<?php
$pdo = new pdo("mysql:host=127.0.0.1:3306;dbname='mydb','root','root@123');//建立乙個pdo物件
$pdo->exec("set names 'utf8'");
$sql = "select * from user where name = ?";
$stmt = $pdo->prepare($sql);
$stmt->bindvalue(1, 'zhansan', pdo::param_str);
$rs = $stmt->execute();
if ($rs)
}$pdo = null;//關閉連線
?>
PHP三種連線mysql方式
主要分為兩種,一是通過mysqli方式,另外是通過pdo mysqli方式只能連線mysql資料庫,而pdo方式可以連線12種資料庫,便於資料庫切換 一 mysqli方式 分為面向過程和物件導向兩種不同的方式 1.mysqli 面向過程 servername localhost username r...
php連線 mysql的三種連線方式
php與mysql的連線有三種api介面,分別是 php的mysql擴充套件 php的mysqli擴充套件 php資料物件 pdo 下面針對以上三種連線方式做下總結,以備在不同場景下選出最優方案。php的mysql擴充套件是設計開發允許php應用與mysql資料庫互動的早期擴充套件。mysql擴充套...
mysql 連線三種方式 mysql的三種連線方式
sql的三種連線方式分為 左外連線 右外連線 內連線,專業術語分別為 left join right joing inner join 內連線inner join 使用比較運算子來根據指定的連線的每個表都有的列的值來進行匹配連線,如果對應的列值不存在,則連線的所有表對應的該列值都不會進行連線,也就是...