一、PHP连接mysql常用的有哪几种方式?
(1) 最简单的方式-mysql (面向过程)
(2) 新的方式-mysqli (面向过程)
(3) 常用-mysqli (面向对象)
(4) 推荐-PDO (面向对象)
二、推荐PDO和mysqli两种面向对象的方式来连接mysql
原因:
1)MySQLi :MySQLi 只针对 MySQL 数据库,MySQLi 还提供了 API 接口。
2)PDO (PHP Data Objects):PDO 应用在 12 种不同数据库中。
3)两者都支持预处理语句。 预处理语句可以防止 SQL 注入,对于 web 项目的安全性是非常重要的。
三、面向对象PDO连接mysql数据库
// 1.准备mysql连接数据
$host = '127.0.0.1';
$username = 'root';
$password = '123456';
$dbname = 'test_data';
// 2.面向对象PDO连接MYSQL
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
echo 'mysql连接成功~';
// $db = null; //关闭数据库
} catch(PDOException $e){
echo 'MYSQL连接失败!'.$e->getMessage();
}
四、查询语句
// 3.准备sql语句
$sql = 'select * from `student`';
// PDO的方法
//
// query() 执行一条sql语句, 返回: 成功:返回PDOStatement对象, 适合查询, 失败返回false
//
//
// exec() 执行一条sql语句, 返回: 成功:返回受影响行数,适合增删改, 失败返回false
$pdoStatement = $pdo->query($sql);
// pdoStatement对象的方法
//
// fetch() 解析一条数据, 以一维数组形式返回
// fetchAll() 解析全部数据, 以二维数组形式返回
// PDO::FETCH_ASSOC 关联数组
// PDO::FETCH_NUM 索引数组
// PDO::FETCH_BOTH 混合数组,(默认形式)
// 4.执行sql语句
$res = $pdoStatement->fetchAll(PDO::FETCH_ASSOC); #关联数组
// $res = $pdoStatement->fetchAll(PDO::FETCH_NUM); #索引数组
var_dump($res);
五、新增一条数据
// 新增一条数据
$sno = '110';
$sname = '宁采臣';
$ssex = '男';
$sbirthday = '1996-05-30';
$class = '96001';
$sql2 = "insert into `student` (`SNO`, `SNAME`, `SSEX`, `SBIRTHDAY`, `CLASS`) values ('{$sno}', '{$sname}', '{$ssex}', '{$sbirthday}', '{$class}')";
$result = $pdo->exec($sql2);
var_dump($result);