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

PHP函数使用:mysqli_query()执行SQL查询并返回结果

发布时间:2023-06-20 14:42:43

mysqli_query()函数是PHP MySQLi扩展中用于执行SQL查询并返回结果的函数之一。该函数可以用来执行SELECT、INSERT、UPDATE、DELETE等各种类型的SQL语句,并返回对应的结果集。本文将详细介绍mysqli_query()函数的使用方法和注意点。

一、mysqli_query()函数语法

mysqli_query()函数的语法如下:

mysqli_query($link, $query, $resultmode);

其中,$link参数是连接MySQL数据库的资源变量,$query参数是待执行的SQL查询语句,$resultmode参数是可选的结果模式,默认为MYSQLI_STORE_RESULT,表示返回结果集对象。在此基础上,还有以下几个结果模式:

- MYSQLI_USE_RESULT:表示返回结果集缓存也就是不一次性将结果全部获取,而是在循环读取结果时再逐条获取。

- MYSQLI_ASYNC:表示使用异步模式,可以用于在执行长时间查询时不会阻塞脚本的执行。

二、mysqli_query()函数返回值

mysqli_query()函数的返回值为查询结果的状态码,包括以下几种类型:

- SELECT语句成功,返回结果集对象;

- INSERT、UPDATE、DELETE语句成功,返回True或False;

- 查询失败,返回False或者具体错误信息;

在使用mysqli_query()函数时,需要根据返回值进行判断并采取相应的操作,避免出现不必要的错误。

三、mysqli_query()函数的使用示例

下面以查询订单表中的订单信息为例,介绍mysqli_query()函数的使用方法:

//连接数据库

$link = mysqli_connect("localhost", "root", "123456", "test");

if (!$link) {

die("连接失败:" . mysqli_connect_error());

}

//查询订单表中的订单信息

$sql = "SELECT * FROM orders";

$result = mysqli_query($link, $sql);

if ($result) {

//查询成功,获取结果集中的每一行数据

while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {

echo "订单编号:" . $row["order_id"] . ",订单总金额:" . $row["total_price"] . "<br>";

}

} else {

//查询失败,输出错误信息

echo "查询失败:" . mysqli_error($link);

}

//关闭数据库连接

mysqli_close($link);

通过以上代码,可以看出mysqli_query()函数的使用方法是先连接数据库,然后执行SQL查询语句并获取结果集,最后根据查询结果进行相应的操作,最后关闭数据库连接。

四、mysqli_query()函数注意事项

1、在使用mysqli_query()函数前,需要先连接MySQL数据库,否则会出现“mysqli_query(): Couldn't fetch mysqli”的错误提示。

2、在使用mysqli_query()函数时,需要谨慎处理SQL注入漏洞,以避免代码被黑客攻击。

3、在使用mysqli_query()函数执行INSERT、UPDATE、DELETE语句时,需要根据返回值判断SQL执行是否成功,避免出现数据更新或删除失败的情况。

4、在使用mysqli_query()函数获取结果集时,需要根据不同的结果模式选择正确的结果获取方法,以避免出现结果集获取不完整的情况。

综上所述,mysqli_query()函数是一种用于执行SQL查询并返回结果的常见PHP函数,使用时应注意相关注意事项,以确保代码的安全和运行的稳定。