技術文章
PHP連接MySQL
發布日期:2019-11-23 閱讀次數:975 字體大小:

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;

(*^▽^*)MG小猪与狼客户端下载 百家樂第三张牌规则 福建36选7开奖时间几点 江西十一选五手机版 快乐十分必赢技巧广东 彩票论坛17500 赖子麻将口诀 彩金捕鱼转微信红包 辽宁十一选五计划 上海打麻将的微信群 福州麻将攻略 金蟾捕鱼游戏机 山东十一选五走势图 江苏快三走势和值跨度 下载陕西快乐10分钟 真人正宗东北麻将下载 江西时时彩bug