php中連接資料庫的常用方法
#1、使用Mysql_connect()連結資料庫
這是我們剛開始學習php時最開始碰到到的資料庫連線方式,透過mysql_connect()函數可以傳回連線結果,則傳回一個MySQL 連線標識,失敗則傳回FALSE。 ,因此可以進行後續的操作.
程式碼範例
<?php $con=mysql_connect("localhost" ,"root","password") if($con){ mysql_select_db("db_name",$con); $sql="select * from table_name where id=1"; $result=mysql_query($sql); while($row=mysql_fetch_row($result)){ echo "$row"; } }else{ die("无法连接数据库".mysql_error()); } mysql_close($con); ?>
注意
這種連接方式是短連接,不是長連接,若長連接則使用mysql_pconnetct()
說明:
MySQL擴充功能是設計開發允許php應用與MySQL資料庫互動的早期擴充。 MySQL擴充提供了一個面向流程的接口,並且是針對MySQL4.1.3或更早版本設計的。
因此這個擴充功能雖然可以與MySQL4.1.3或更新的資料庫服務端進行交互,但並不支援後期MySQL服務端提供的一些特性。由於太古老,又不安全,所以已被後來的mysqli完全取代;
2、使用Mysqli
這是一種物件導向的資料庫連接方式,在連接前需要實例化一個對象,然後透過這個對象進行資料庫操作
程式碼範例
<?php $con=new mysqli("localhost","root","password","db_name"); if(!mysqli_connect_error()){ $sql="select * from table_name where id=1"; $result=$con->query($sql); while($row=$result->fetch_row($result)){ echo "$row"; } }else{ die("无法连接数据库".mysql_error()); }
mysqli是一種長連接方式,並且比mysql_connect更加安全
#說明:
mysqli擴展,我們有時稱為MySQL增強擴展,可以用來使用MySQL4.1.3或更新版本中新的高階特性。
其特點為:物件導向介面 、prepared語句支援、多語句執行支援、交易支援 、增強的偵錯能力、嵌入式服務支援 、預處理方式完全解決了sql注入的問題。不過其也有缺點,就是只支援mysql資料庫。如果你要是不操作其他的資料庫,這無疑是最好的選擇。
3、使用PDO
pdo是php5中心加進去的連結資料庫的方式
程式碼範例
<?php $mysql_conf = array( 'host' => '127.0.0.1:3306', 'db' => 'test', 'db_user' => 'root', 'db_pwd' => 'joshua317', ); $pdo = new PDO("mysql:host=" . $mysql_conf['host'] . ";dbname=" . $mysql_conf['db'], $mysql_conf['db_user'], $mysql_conf['db_pwd']);//创建一个pdo对象 $pdo->exec("set names 'utf8'"); $sql = "select * from user where name = ?"; $stmt = $pdo->prepare($sql); $stmt->bindValue(1, 'joshua', PDO::PARAM_STR); $rs = $stmt->execute(); if ($rs) { // PDO::FETCH_ASSOC 关联数组形式 // PDO::FETCH_NUM 数字索引数组形式 while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { var_dump($row); } } $pdo = null;//关闭连接 ?>
說明:
PDO是PHP Data Objects的縮寫,是PHP應用中的一個資料庫抽象層規格。
PDO提供了一個統一的API介面可以讓你的PHP應用程式不關心具體要連接的資料庫伺服器系統類型,也就是說,如果你使用PDO的API,可以在任何需要的時候無縫切換資料庫伺服器,例如從Oracle 到MySQL,只需要修改很少的PHP程式碼。
其功能類似JDBC、ODBC、DBI之類介面。同樣,其也解決了sql注入問題,有很好的安全性。不過他也有缺點,某些多語句執行查詢不支援(不過這種情況很少)。
更多相關知識,請造訪 PHP中文網! !
以上是PHP連接資料庫有哪些方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!