首頁 >後端開發 >PHP問題 >php連接mysql的方式有什麼差別嗎

php連接mysql的方式有什麼差別嗎

WBOY
WBOY原創
2022-04-26 17:38:582706瀏覽

區別:1、PDO應用在12種不同資料庫中,而MySQLi只應用於mysql資料庫中;2、PDO關閉連線的方式為“$conn = null”,而MySQLi關閉連線的方式為“$conn->close()”或“mysqli_close()”。

php連接mysql的方式有什麼差別嗎

本文操作環境:Windows10系統、PHP7.1版、Dell G3電腦。

php連接mysql的方式之間有什麼區別嗎

在php5.3版本之後,想要連接資料庫有兩種方案,一種是透過mysqli,另外外一種是透過PDO,而透過mysqli來連接資料庫也可也分為兩種情況: mysqli(物件導向),mysqli(面向過程).
即三種方式:
1)PDO連接mysql
# 2 )mysqli(物件導向)連接資料庫
3)mysqli(面向過程)連線資料庫
(其實還存在一種連線方式:使用MySQL 擴充功能。但該擴充在2012 年開始不建議使用。)

PDO連線實例

可先透過phpinfo()指令查看你的php是否已安裝PDO(我用的是php7,預設是已經安裝好了)
如果沒有安裝,參考網頁:http://php.net/manual/en/pdo.installation.php
php連接mysql的方式有什麼差別嗎
# 程式碼實例:

<?php $servername = "localhost";
$username = "root";
$password = "root";
try {
    $conn = new PDO("mysql:host=$servername;dbname=jtsys",
        $username, $password);
    echo "连接成功";
}
catch(PDOException $e)
{
    
    echo $e->getMessage();
}
?>

(使用時請注意更改資料庫使用者名稱和密碼,以及所選則的資料庫名稱(dbname)

mysqli(物件導向)連線實例

可先透過phpinfo()指令查看你的php是否已安裝mysqli(我用的是php7,預設是已經安裝好了)
如果沒有安裝,參考網頁:http://php.net/manual/en/mysqli.installation.php
php連接mysql的方式有什麼差別嗎
# 程式碼實例:

<?php $servername = "localhost";
$username = "root";
$password = "root";
// 创建连接
$conn =
new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
$dbname="jtsys";
mysqli_select_db($conn,$dbname);
echo "连接成功";
?>

mysqli(面向過程)連線資料庫

程式碼實例:

<?php $servername = "localhost";
$username = "root";
$password = "root";
// 创建连接
$conn = mysqli_connect($servername, 
$username, $password);
// 检测连接
if (!$conn) {
    die("Connection 
failed: " . mysqli_connect_error());
}
$dbname="jtsys";
mysqli_select_db($conn,$dbname);
echo "连接成功";
?>

三者區別:

1.關閉連線的方式:
PDO:

$conn = null;

MySQLi (物件導向):

$conn->close();

MySQLi (面向過程):

mysqli_close($conn);
  • PDO 應用在12 種不同資料庫中, MySQLi 只針對MySQL 資料庫。
  • 如果你的專案需要在多種資料庫中切換,建議使用PDO ,這樣你只需要修改連接字串和部門查詢語句即可。使用MySQLi, 如果不同資料庫,你需要重新編寫所有程式碼,包括查詢。
  • 都是物件導向, 但MySQLi 還提供了API 介面。
  • 兩者都支援預處理語句。預處理語句可以防止SQL 注入,對於web 專案的安全性是非常重要的。
    MySQLi 物件導向和流程導向的差異:
    多PHP程式設計師不習慣物件導向bai編程,所以mysqli類別庫提供了du這個方法供他們使用。這也是方便一些讓zhi用mysql擴充的用戶快速遷移到mysqli。實際上,mysqli_query()內部是對物件導向呼叫過程的封裝。

推薦學習:《PHP影片教學

以上是php連接mysql的方式有什麼差別嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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