PHP数据库函数使用说明:mysqli、PDO、mysql_query
随着技术的升级和更新,PHP在数据库操作上也不断进行改进和完善,比较常用的数据库函数有mysqli、PDO、mysql_query。这三种函数各有优劣,现在让我们来详细了解一下它们的使用。
一、mysqli
mysqli是MySQL Improved Extension的缩写,是原始的mysql扩展的改良版,支持新的功能和方法,提供面向对象和面向过程的编程接口。下面是mysqli的连接方法:
1.面向对象
$mysqli = new mysqli($host, $username, $password, $database);
2.面向过程
$mysqli = mysqli_connect($host, $username, $password, $database);
mysqli的优势在于它对预处理语句和存储过程的支持,提供了更安全和有效的数据库操作方法。下面是mysqli的一些基本操作:
1.查询
$result = $mysqli->query($sql);
2.预处理语句
$stmt = $mysqli->prepare($sql);
$stmt->bind_param($param1, $param2);
$stmt->execute();
$result = $stmt->get_result();
3.插入和更新
$mysqli->query($sql);
$mysqli->insert_id; //获取最后一次插入的ID
$mysqli->affected_rows; //获取受影响的行数
二、PDO
PDO是PHP Data Objects的缩写,是一个轻量级的数据库访问和抽象类库,提供面向对象的编程接口,并支持多种数据库类型。下面是PDO的连接方法:
$pdo = new PDO('mysql:host='.$host.';dbname='.$database, $username, $password);
PDO的优势在于它的跨数据库兼容性,可以用同样的代码访问不同的数据库。同时,它也支持预处理语句和存储过程。下面是PDO的一些基本操作:
1.查询
$pdo->query($sql);
2.预处理语句
$stmt = $pdo->prepare($sql);
$stmt->bindValue($param1, $param2);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
3.插入和更新
$pdo->query($sql);
$pdo->lastInsertId(); //获取最后一次插入的ID
$pdo->rowCount(); //获取受影响的行数
三、mysql_query
mysql_query是最早的数据库函数之一,是一个面向过程的函数,用来执行SQL语句。下面是mysql_query的连接方法:
$link = mysql_connect($host, $username, $password);
mysql_select_db($database);
mysql_query('SET NAMES UTF8');
mysql_query的优势在于它的简单易用,适合于小型项目和初学者。但是,它存在漏洞和安全问题,并且不支持预处理语句和存储过程。下面是mysql_query的一些基本操作:
1.查询
$result = mysql_query($sql);
$row = mysql_fetch_array($result, MYSQL_ASSOC);
2.插入和更新
mysql_query($sql);
mysql_insert_id(); //获取最后一次插入的ID
mysql_affected_rows(); //获取受影响的行数
综上所述,mysqli和PDO都是比较常用的数据库函数,它们都支持预处理语句和存储过程,提供更安全和有效的数据库操作方法。而mysql_query虽然简单易用,但是存在漏洞和安全问题,并且不支持预处理语句和存储过程。在使用中,我们应该根据项目的实际需要,选择最适合的数据库函数。
