PHP 5 及以上版本建议使用以下方式连接 MySQL :

  • MySQLi :MySQLi 只针对 MySQL 数据库,MySQLi 还提供了 API 接口。
  • PDO (PHP Data Objects):PDO 应用在 12 种不同数据库中。

共同点:

  1. 两者都是面向对象

  2. 两者都支持预处理语句。 预处理语句可以防止 SQL 注入,对于 web 项目的安全性是非常重要的。

确保wamp里已经安装好了MySQLi或PDO,查看方式:echo phpinfo();

 

接下来将会使用以下三种方式来演示 PHP 操作 MySQL:

  • MySQLi (面向对象)
  • MySQLi (面向过程)
  • PDO

 

1. MySQLi - 面向对象

<?php
header('Content-Type: text/html;charset=utf-8');

//echo phpinfo();

// MySQLi面向对象
// 在我们访问MySQL数据库之前,我们需要先连接到数据库服务器
$servername = "localhost";
$username = "root";
$password = "";

// 创建连接
$conn = new mysqli($servername, $username, $password);

// 检测连接
if($conn -> connect_error)
{
    die("连接失败:". $conn->connect_error);
}

echo "连接成功";
?>

 

2.  MySQLi - 面向过程

<?php
header('Content-Type: text/html; charset=utf-8');

// MySQLi - 面向过程
$servername = "localhost";
$username = "root";
$password = "";

// 创建连接
$conn = mysqli_connect($servername, $username, $password);

// 检测连接
if(!$conn)
{
    die("连接失败:" . mysqli_connect_error());
}

echo "连接成功";
?>

 

3. PDO连接MySQL数据库

PDO要设置数据库名,如果没有指定,则会抛出异常

<?php
header('Content-Type: text/html; charset=utf-8');

// PDO连接MySQL数据库
// PDO要设置数据库名,如果没有指定,则会抛出异常

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "mugua";

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

 

连接在脚本执行完毕后会自动关闭,也可以使用代码关闭连接:

MySQLi - 面向对象

$conn->close();

 

MySQLi - 面向过程

mysqli_close($conn);

 

PDO

$conn = null;

 

posted on 2017-04-17 18:25  Asina  阅读(17344)  评论(0编辑  收藏  举报