技術文章
PHP連接MySQL
發布日期:2019-11-23 閱讀次數:2021 字體大?。?a href="javascript:;" onclick="ChangeFontSize('content',16)">大

PHP5及以上版本建議使用以下方式連接MySQL數據庫:

  • MySQLi extension這里的i意為improved
  • PDO全稱PHP Data Objects

在PHP早期版本中我們使用MySQL擴展,但該擴展在2012年開始不建議使用。

我該用MySQLi,還是PDO呢

如果你需要一個簡短的回答,那就“習慣哪個就用哪個”

MySQLi和PDO有它們自己優勢:PDO應用在12種不同數據庫中,MySQLi只針對MySQL數據庫。

所以,如果你的項目需在多種數據庫中切換,建議用PDO,這樣你只需要修改連接字符串和部分查詢語句即可。如使用MySQLi,不同的數據庫,需要重新編寫所有代碼,包括查詢。

兩者都是面向對象,但MySQLi提供了API接口。

兩者都支持預處理語句。預處理語句可以防止SQL注入,對于web項目安全性是非常重要的。

MySQLi和PDO連接MySQL實例

我們用以下三種方式來演示PHP操作MySQL:

  • MySQLi面向對象的方式
  • MySQLi面向過程的方式
  • PDO的方式

MySQLi面向對象的方式:

$servername = "localhost";

$username = "username";

$password = "password";

$conn = new mysqli($servername, $username, $password);

if ($conn->connect_error) {

 die("連接失敗: " . $conn->connect_error);

}

echo "連接成功";

?>

注意在上面向對象的實例中$connect_error是在PHP5.2.9和5.3.0中添加的。如果你需要兼容更早版本請使用以下代碼替換:

  1.  
  2. if (mysqli_connect_error()) {
  3.     die("MySQL數據庫連接失敗: " . mysqli_connect_error());
  4. }

MySQLi面向過程的方式:

$servername = "localhost";

$username = "username";

$password = "password";

$conn = mysqli_connect($servername, $username, $password);

if (!$conn) {

die("Connection failed: " . mysqli_connect_error());

}

echo "連接成功";

?>

PDO的方式:

$servername = "localhost";

$username = "username";

$password = "password";

try {

    $conn = new PDO("mysql:host=$servername;", $username, $password);

   echo "連接成功";

}

catch(PDOException $e)

{

  echo $e->getMessage();

}

?>

注意在以上PDO實例中我們已經指定了數據庫myDB。PDO在連接過程需要設置數據庫名。如果沒有指定,則會拋出異常。

關閉連接

MySQLi面向對象的方式:

$conn->close();

MySQLi面向過程的方式:

mysqli_close($conn);

PDO的方式:

$conn = null;

精品国产自在在线午夜精品_国产偷国产偷亚洲清高_99国产欧美久久久精品_日本人作爰试看120秒