📅  最后修改于: 2023-12-03 14:38:44.058000             🧑  作者: Mango
在这个主题下,我们将讨论一个基于PHP语言的MySQL查询操作。具体来说,我们将使用mysqli_query()
函数来执行一个查询,查询所有书名中包含指定关键字的图书信息。如果查询结果为空,则会进行相应的错误处理。
下面是相应的PHP代码片段:
$q = mysqli_query($db, "SELECT * from books where name like '%$_POST[search]%'");
if (mysqli_num_rows($q) == 0) {
// 处理查询结果为空的情况
}
$db
:一个已连接到MySQL服务器的数据库链接对象。$q
:查询返回的结果集对象。$_POST[search]
:用户输入的搜索关键字。mysqli_num_rows()
:获取结果集中的行数。mysqli_query()
函数执行一个针对MySQL数据库的查询操作,并返回一个结果集对象。其调用方式为:
mysqli_query($link, $query);
其中,$link
是一个到MySQL服务器的连接对象,可以通过mysqli_connect()
等函数来创建;$query
是一个字符串类型的SQL查询语句,其中可以包含占位符?
,以便进行参数绑定。如果查询成功,mysqli_query()
返回一个结果集对象,否则返回FALSE
。
mysqli_num_rows()
函数用于获取一个结果集对象中的行数。其调用方式为:
mysqli_num_rows($result);
其中,$result
是一个结果集对象,通常是通过mysqli_query()
等查询函数返回的。如果查询成功,则返回结果集中的行数;如果查询失败,则返回FALSE
。注意,如果结果集的行数为0,mysqli_num_rows()
返回的也是0
,而不是FALSE
。
由于上述代码中的SQL查询语句使用了用户通过POST方式提交的数据,存在SQL注入的风险。可以通过mysqli_real_escape_string()
等函数进行数据过滤,或者使用参数绑定等技术来避免注入攻击。