155740657.jpg
前言
總所周知紊遵,php是世界上最好的語言窄绒。最近我也入坑了,它的寫法很多和javascript還是有些類似成洗,上手也是挺快的五督。今天我們來聊聊php對(duì)數(shù)據(jù)庫操作的幾種方式,這里的數(shù)據(jù)庫是MYSQL。
操作數(shù)據(jù)庫常用三種方式有:
MySQLi (面向?qū)ο?
MySQLi (面向過程)
PDO
在 PHP 早期版本中我們使用 MySQL 擴(kuò)展瓶殃。但該擴(kuò)展在 2012 年開始不建議使用
面向?qū)ο箧溄訑?shù)據(jù)庫
<?php
$servername = "localhost";//本地服務(wù)
$username = "root";
$password = "root";
// 創(chuàng)建連接
$conn = new mysqli($servername, $username, $password);
// 檢測(cè)連接
if ($conn->connect_error) {
die("連接失敗: " . $conn->connect_error);
}
echo "連接成功";
$conn->close();
?>
$connect_error 是在 PHP 5.2.9 和 5.3.0 中添加的充包。如果你需要兼容更早版本 請(qǐng)使用以下代碼替換:
// 檢測(cè)連接
if (mysqli_connect_error()) {
die("數(shù)據(jù)庫連接失敗: " . mysqli_connect_error());
}
面向過程鏈接數(shù)據(jù)庫
<?php
$servername = "localhost";
$username = "root";
$password = "root";
// 創(chuàng)建連接
$conn = mysqli_connect($servername, $username, $password);
// 檢測(cè)連接
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "連接成功";
mysqli_close($conn);
?>
mysqli是mysql相當(dāng)于前者的增強(qiáng)版,也包含了相對(duì)進(jìn)階的功能遥椿,另外本身也增加了安全性基矮,比如可以大幅度減少 SQL 注入等問題的發(fā)生。
<?php
$servername = "localhost";
$username = "root";
$password = "root";
// 創(chuàng)建連接
$conn = mysql_connect($servername, $username, $password);
// 檢測(cè)連接
if (!$conn) {
die("Connection failed: " . mysql_error());
}
echo "連接成功";
mysql_close($conn);
?>
這里的鏈接方式在php5版本之前版本使用冠场。
PDO鏈接數(shù)據(jù)庫
<?php
$servername = "localhost";
$username = "root";
$password = "root";
try {
$conn = new PDO("mysql:host=$servername;", $username, $password);
echo "連接成功";
}
catch(PDOException $e)
{
echo $e->getMessage();
}
$conn = null;
?>
注意在以上 PDO 實(shí)例中我們已經(jīng)指定了數(shù)據(jù)庫 (myDB)家浇。PDO 在連接過程需要設(shè)置數(shù)據(jù)庫名。如果沒有指定碴裙,則會(huì)拋出異常钢悲。