随着web应用的不断发展,php语言也越来越广泛地应用在web开发中.在php中,mysqli_query函数是十分常用的一个函数,它主要用于执行SQL语句.那么在使用mysqli_query函数时,我们需要注意哪些问题呢?这就是本文所要详细阐述的问题.
mysqli_query函数的语法格式如下:
其中,它有三个参数:
connection:必须,表示MySQL连接句柄,在使用mysqli_connect()或mysqli_init()函数后返回的对象.
query:必须,表示要执行的SQL语句,可以包含插入、更新、删除、查询等操作.
resultmode:可选,在默认情况下返回结果集作为关联数组(MYSQLI_ASSOC)、数字数组(MYSQLI_NUM)或同时使用两者(MYSQLI_BOTH).如果只想返回行的统计数或受影响行的数量 ,则传递MYSQLI_USE_RESULT或MYSQLI_STORE_RESULT.
mysqli_query函数执行查询成功返回mysqli_result对象,执行插入操作、删除操作和更新操作成功返回true,执行失败返回false,同时mysqli_query还可以用mysqli_affected_rows和mysqli_insert_id函数来获取影响的行数和插入的自增长id.
① 返回mysqli_result对象
返回的$result就是mysqli_result对象.
② 返回true
执行成功则返回true,失败则返回false.
③ 返回false
当我们使用mysqli_query函数时,需要考虑到安全性问题.为了防止SQL注入,我们需要对输入的参数进行过滤和检查.
① 对输入参数进行过滤
在上面土嘎嘎给出的例子源码中,我们使用mysqli_real_escape_string()函数对$name进行了过滤,避免了SQL注入的风险.
② 对输入数据进行检查
$age = intval($_POST['age']); $sex = intval($_POST['sex']); if($age < 0 || $age > 120){
在上面土嘎嘎给出的例子源码中,我们使用intval函数将$age和$sex转成了整型,并进行了合法性检查,避免了非法输入.这样即使有人想通过特殊字符攻击也不行了.
① mysqli_query函数不支持批量查询
如果需要批量执行SQL语句,可以使用mysqli_multi_query函数来实现,同时需要注意处理每一个查询的结果.
② mysqli_query函数需要与mysqli_fetch_系列函数一起使用
mysqli_query函数执行后,需要使用mysqli_fetch_系列函数来获取查询的结果,一般情况下使用mysqli_fetch_array或mysqli_fetch_assoc函数即可.
本文从mysqli_query函数的参数、返回值、安全性和注意事项四个方面进行了详细的阐述.在使用mysqli_query函数时,我们需要对参数进行合法性校验和注入攻击过滤,同时需要注意mysqli_query函数的使用场景.只有掌握了mysqli_query函数的使用规则,我们才能更好地应对web开发中的各种数据库操作.
以上就是土嘎嘎小编为大家整理的深入理解php mysqli相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!