php7 连接数据库的方法
在PHP7中已经废除了
mysql
库了,则只能使用mysqli
及PDO
mysqli 连接数据库
1、mysqli面向对象编程
<?php
$serve = '127.0.0.1:3306';
$username = 'root';
$password = 'root';
$dbname = 'account';
$mysqli = new Mysqli($serve,$username,$password,$dbname);
if($mysqli->connect_error){
die('connect error:'.$mysqli->connect_errno);
}
$mysqli->set_charset('UTF-8'); // 设置数据库字符集
$result = $mysqli->query('select * from customers');
$data = $result->fetch_all(); // 从结果集中获取所有数据
echo json_encode($data, JSON_UNESCAPED_UNICODE);
2、mysqli面向过程编程
<?php
$serve = '127.0.0.1:3306';
$username = 'root';
$password = 'root';
$dbname = 'account';
$link = mysqli_connect($serve,$username,$password,$dbname);
mysqli_set_charset($link,'UTF-8'); // 设置数据库字符集
$result = mysqli_query($link,'select * from customers');
$data = mysqli_fetch_all($result); // 从结果集中获取所有数据
echo json_encode($data, JSON_UNESCAPED_UNICODE);
PDO 连接数据库
$serve = 'mysql:host=127.0.0.1:3306;dbname=account;charset=utf8';
$username = 'root';
$password = 'root';
try{ // PDO连接数据库若错误则会抛出一个PDOException异常
$PDO = new PDO($serve,$username,$password);
$result = $PDO->query('select * from account');
$data = $result->fetchAll(PDO::FETCH_ASSOC); // PDO::FETCH_ASSOC表示将对应结果集中的每一行作为一个由列名索引的数组返回
echo json_encode($data, JSON_UNESCAPED_UNICODE);
} catch (PDOException $error){
echo 'connect failed:'.$error->getMessage();
}
使用
PDO
或mysqli
都可以连接mysql,但更推荐使用PDO
连接数据库,因为PDO
支持12种不同的数据库驱动程序,mysqli
只支持mysql,而且PDO
性能更高