- mysql
<?php
$conn = mysql_connect("localhost", "root", "") or die("Mysql connect error");
mysql_select_db("test", $conn);
$res = mysql_query("select * from user");
var_dump($res);
?>
從PHP5.0開始就不推薦使用mysql_connect()函數(shù)呕诉,到了php7.0則直接廢棄了該函數(shù)猖毫,替代的函數(shù)是:mysqli_connect();
- mysqli(mysql improved)
<?php
$conn = mysqli_connect("127.0.0.1", "root", "", "test") or die("Mysql connect error".mysqli_connect_error());
$res = mysqli_query($conn, "select * from user");
while ($row = $res->fetch_object()) {
var_dump($row);
}
?>
- pdo(php data object)
<?php
$pdo = new pdo("mysql:host=127.0.0.1;dbname=test", "root", "");
$query="select * from user";//需要執(zhí)行的sql語句
$res = $pdo->prepare($query);//準(zhǔn)備查詢語句
$res->execute();
while($result = $res->fetch(PDO::FETCH_ASSOC)) {
var_dump($result);
}
?>
mysql是非持續(xù)連接函數(shù)而mysqli是永遠(yuǎn)連接函數(shù)欲险。mysql每次連接都會打開一個(gè)連接的進(jìn)程而mysqli多次運(yùn)行mysqli將使用同一連接進(jìn)程镐依,從而減少了服務(wù)器的開銷。
由于PDO能夠支持其它非MySQL的數(shù)據(jù)庫天试,而MySQLi專門針對MySQL設(shè)計(jì)的槐壳,所以MySQLi相對于PDO性能稍微好一些。但是PDO和MySQLi都還是沒有PHP原生的MySQL擴(kuò)展快喜每。
PDO支持12種數(shù)據(jù)庫驅(qū)動和命名參數(shù)綁定是其最大優(yōu)點(diǎn)务唐。