首頁  >  文章  >  後端開發  >  PHP連接資料庫有哪些方法

PHP連接資料庫有哪些方法

一个新手
一个新手原創
2017-09-06 15:53:3332635瀏覽

PHP連接資料庫有哪些方法

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(
    &#39;host&#39;    => &#39;127.0.0.1:3306&#39;, 
    &#39;db&#39;      => &#39;test&#39;, 
    &#39;db_user&#39; => &#39;root&#39;, 
    &#39;db_pwd&#39;  => &#39;joshua317&#39;, 
    );
$pdo = new PDO("mysql:host=" . $mysql_conf[&#39;host&#39;] . ";dbname=" . $mysql_conf[&#39;db&#39;], $mysql_conf[&#39;db_user&#39;], $mysql_conf[&#39;db_pwd&#39;]);//创建一个pdo对象
$pdo->exec("set names &#39;utf8&#39;");
$sql = "select * from user where name = ?";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(1, &#39;joshua&#39;, 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn