欢迎访问宙启技术站
智能推送

PHP数据库函数使用说明:mysqli、PDO、mysql_query

发布时间:2023-06-26 20:42:41

随着技术的升级和更新,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虽然简单易用,但是存在漏洞和安全问题,并且不支持预处理语句和存储过程。在使用中,我们应该根据项目的实际需要,选择最适合的数据库函数。