mysql連接pdo復用php,pdo_mysql

本文目錄一覽:

PHP怎麼連接MySQL

PHP連接mysql資料庫是PHP新手們必須要掌握的一項技能,只要掌握了PHP對資料庫進行增刪改查等操作,就可以寫出一些簡單且常見的程序。如留言表,新聞頁等。本篇文章主要給大家詳細介紹PHP連接Mysql資料庫的兩種常用方法。

下面我們通過具體的代碼示例來給大家詳細介紹兩種PHP連接mysql資料庫的方法。

mysqli連接資料庫和pdo連接資料庫。

第一種方法:使用mysqli連接mysql資料庫

代碼實例如下:

?php

$host=’127.0.0.1′;

$user=’root’;

$password=’root’;

$dbName=’php’;

$link=new mysqli($host,$user,$password,$dbName);

if ($link-connect_error){

die(”連接失敗:”.$link-connect_error);

}

$sql=”select * from admins”;

$res=$link-query($sql);

$data=$res-fetch_all();

var_dump($data);

在經過一系列的連接操作後,我們再創建一個sql語句對其中數據表進行查詢檢驗。在上述代碼中,我們要先創建一些需要用到的變數,如資料庫用戶名、資料庫名密碼等。然後我們用面向對象的方式連接了名為php的資料庫。再通過if條件語句,connect-error方法判斷PHP連接資料庫是否成功。

這裡我們先登錄phpmyadmin看看是否存在php資料庫,從下圖可以知道是存在php這個資料庫的。

最後通過瀏覽器訪問,結果如下圖:

從圖中可以得知,我們成功地連接了php資料庫,並且能查詢出數據表信息。

第二種方法:使用PDO連接資料庫

代碼示例如下:

?php

$host=’127.0.0.1′;

$user=’root’;

$password=’root’;

$dbName=’php’;

$pdo=new PDO(”mysql:host=$host;dbname=$dbName”,$user,$password);

$sql=”select * from admins”;

$data=$pdo-query($sql)-fetch();

var_dump($data);

PHP連接Mysql步驟以上就是關於PHP連接資料庫查詢數據的兩種常用方法詳解,更多相關教程請訪問php中文網mysql視頻教程,歡迎參考學習

php連接mysql資料庫原理是怎樣的

現在使用PDO鏈接資料庫的較多

連接是通過創建 PDO 基類的實例而建立的。不管使用哪種驅動程序,都是用 PDO 類名。構造函數接收用於指定資料庫源(所謂的 DSN)以及可能還包括用戶名和密碼(如果有的話)的參數。

連接到 MySQL

?php

$dbh = new PDO(‘mysql:host=localhost;dbname=test’, $user, $pass);

?

如果有任何連接錯誤,將拋出一個 PDOException 異常對象。如果想處理錯誤狀態,可以捕獲異常,或者選擇留給通過 set_exception_handler() 設置的應用程序全局異常處理程序。

處理連接錯誤

?php

try {

    $dbh = new PDO(‘mysql:host=localhost;dbname=test’, $user, $pass);

    foreach($dbh-query(‘SELECT * from FOO’) as $row) {

        print_r($row);

    }

    $dbh = null;

} catch (PDOException $e) {

    print “Error!: ” . $e-getMessage() . “br/”;

    die();

}

?

如果應用程序不在 PDO 構造函數中捕獲異常,zend 引擎採取的默認動作是結束腳本並顯示一個回溯跟蹤,此回溯跟蹤可能泄漏完整的資料庫連接細節,包括用戶名和密碼。因此有責任去顯式(通過 catch 語句)或隱式(通過 set_exception_handler() )地捕獲異常。

連接數據成功後,返回一個 PDO 類的實例給腳本,此連接在 PDO 對象的生存周期中保持活動。要想關閉連接,需要銷毀對象以確保所有剩餘到它的引用都被刪除,可以賦一個 NULL 值給對象變數。如果不明確地這麼做,PHP 在腳本結束時會自動關閉連接。

關閉一個連接

?php

$dbh = new PDO(‘mysql:host=localhost;dbname=test’, $user, $pass);

// 在此使用連接

// 現在運行完成,在此關閉連接

$dbh = null;

?

很多 web 應用程序通過使用到資料庫服務的持久連接獲得好處。持久連接在腳本結束後不會被關閉,且被緩存,當另一個使用相同憑證的腳本連接請求時被重用。持久連接緩存可以避免每次腳本需要與資料庫回話時建立一個新連接的開銷,從而讓 web 應用程序更快。

php使用mysqli和pdo擴展,測試對比mysql資料庫的執行效率完整示例

本文實例講述了php使用mysqli和pdo擴展,測試對比mysql資料庫的執行效率。分享給大家供大家參考,具體如下:

?php

/**

*

測試pdo和mysqli的執行效率

*/

header(“Content-type:text/html;charset=utf-8”);

//通過pdo鏈接資料庫

$pdo_startTime

=

microtime(true);

$pdo

=

new

PDO(“mysql:host=localhost;dbname=test”,”root”,”1234″,array(PDO::MYSQL_ATTR_INIT_COMMAND

=

“SET

NAMES’utf8′;”));

for($i=1;$i=100;$i++){

$title

=

“pdo標題”.$i;

$content

=

“pdo內容”.$i;

$addtime

=

time();

$user_id

=

$i;

$pdo_sql

=

“INSERT

INTO

`article`(`title`,`content`,`addtime`,`user_id`)

VALUES(:title,:content,:addtime,:user_id)”;

$sth

=

$pdo-prepare($pdo_sql);

$sth-bindParam(‘:title’,$title);

$sth-bindParam(‘:content’,$content);

$sth-bindParam(‘:addtime’,$addtime);

$sth-bindParam(‘:user_id’,$user_id);

$sth-execute();

}

$pdo_endTime

=

microtime(true);

$pdo_time

=

$pdo_endTime

$pdo_startTime;

echo

$pdo_time;

echo

“hr/”;

//通過mysql鏈接資料庫

$mysqli_startTime

=

microtime(true);

$mysqli

=

mysqli_connect(“localhost”,”root”,”1234″,”test”)

or

die(“數據連接失敗”);

mysqli_query($mysqli,”set

names

utf8″);

for($i=1;$i=100;$i++){

$title

=

“mysqli標題”.$i;

$content

=

“mysqli內容”.$i;

$addtime

=

time();

$user_id

=

$i;

$sql

=

“INSERT

INTO

`article`(`title`,`content`,`addtime`,`user_id`)

VALUES(‘”.$title.”‘,'”.$content.”‘,”.$addtime.”,”.$user_id.”)”;

mysqli_query($mysqli,$sql);

}

$mysqli_endTime

=

microtime(true);

$mysqli_time

=

$mysqli_endTime

$mysqli_startTime;

echo

$mysqli_time;

echo

“hr/”;

if($pdo_time

$mysqli_time){

echo

“pdo的執行時間是mysqli的”.round($pdo_time/$mysqli_time).”倍”;

}else{

echo

“mysqli的執行時間是pdo的”.round($mysqli_time/$pdo_time).”倍”;

}

測試結果:其實經過多次測試,pdo和mysqli的執行效率差不多。

更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP基於pdo操作資料庫技巧總結》、《php+mysqli資料庫程序設計技巧總結》、《php面向對象程序設計入門教程》、《php字元串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:php使用mysqli和pdo擴展,測試對比連接mysql資料庫的效率完整示例php中資料庫連接方式pdo和mysqli對比分析php中關於mysqli和mysql區別的一些知識點分析php操作mysqli(示例代碼)php封裝的mysqli類完整實例PHP以mysqli方式連接類完整代碼實例php簡單解析mysqli查詢結果的方法(2種方法)php中mysql連接方式PDO使用詳解Php中用PDO查詢Mysql來避免SQL注入風險的方法php

mysql

PDO

查詢操作的實例詳解PHP實現PDO的mysql資料庫操作類

php的pdo連接mysql的問題

不用換成IP,仍然用localhost來訪問啊.你程序已經上傳了你買的空間中了.只要保證資料庫名換成空間服務商給你的伺服器名字就行.

PHP中mysql如何遠程連接資料庫

可以使用pdo進行連接

$dbms=’mysql’; //資料庫類型

$host=’localhost’; //資料庫主機名

$dbName=’test’; //使用的資料庫

$user=’root’; //資料庫連接用戶名

$pass=”; //對應的密碼

$dsn=”$dbms:host=$host;dbname=$dbName”;

try {

$dbh = new PDO($dsn, $user, $pass); //初始化一個PDO對象

echo “連接成功br/”;

/*你還可以進行一次搜索操作

foreach ($dbh-query(‘SELECT * from FOO’) as $row) {

print_r($row); //你可以用 echo($GLOBAL); 來看到這些值

}

*/

$dbh = null;

} catch (PDOException $e) {

die (“Error!: ” . $e-getMessage() . “br/”);

}

//默認這個不是長連接,如果需要資料庫長連接,需要最後加一個參數:array(PDO::ATTR_PERSISTENT = true) 變成這樣:

$db = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT = true));

原創文章,作者:MAGF,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/148168.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
MAGF的頭像MAGF
上一篇 2024-11-02 13:15
下一篇 2024-11-02 13:15

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL資料庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若伺服器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • CentOS 7在線安裝MySQL 8

    在本文中,我們將介紹如何在CentOS 7操作系統中在線安裝MySQL 8。我們會從安裝環境的準備開始,到安裝MySQL 8的過程進行詳細的闡述。 一、環境準備 在進行MySQL …

    編程 2025-04-27

發表回復

登錄後才能評論