首页 > 后端开发 > php教程 > 为什么 `mysqli_real_escape_string()` 抛出'期望正好 2 个参数,给定 1 个参数”?

为什么 `mysqli_real_escape_string()` 抛出'期望正好 2 个参数,给定 1 个参数”?

Susan Sarandon
发布: 2024-12-04 14:50:10
原创
441 人浏览过

Why Does `mysqli_real_escape_string()` Throw

解决“mysqli_real_escape_string()需要正好2个参数,给定1个”错误

“mysqli_real_escape_string()”函数旨在转义字符串中的特殊字符,以防止SQL注入攻击。但是,它有一个特定的参数要求,可能会导致错误“mysqli_real_escape_string() Expects正好2个参数,给定1个。”

问题分析:

提供的代码检查 PHP 版本并尝试相应地使用“mysqli_real_escape_string()”。然而函数调用只包含要转义的字符串,缺少第一个必需参数:mysqli链接。

文档说明:

根据官方文档, “mysqli_real_escape_string()”需要两个参数:

  1. mysqli $link: 对已建立的 MySQLi 连接的引用。
  2. string $escapestr: 要转换的字符串

解决方案:

要解决该错误,代码应在调用“mysqli_real_escape_string()”函数时包含这两个参数。这是更新版本:

if (phpversion() >= '4.3.0') {
    $string = mysqli_real_escape_string($link, $string);
} else {
    $string = mysqli_escape_string($link, $string);
}
登录后复制

通过确保提供 mysqli 链接作为第一个参数,“mysqli_real_escape_string()”函数将正确转义输入字符串并防止 SQL 注入漏洞。

以上是为什么 `mysqli_real_escape_string()` 抛出'期望正好 2 个参数,给定 1 个参数”?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板