一、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);