fjptec-xm 发表于 2017-12-30 16:36:21

PHP连接MySQL数据库的几种方式

  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;');  

  

//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;
页: [1]
查看完整版本: PHP连接MySQL数据库的几种方式