我在文件中建立了一个静态数据库连接,我将其作为
包含在内include_once 'database.inc.php';
命名为$mysqli
。
当我使用$tbname
从表单传递参数$tbname = $_GET['tbname']
并尝试使用$tbname = $mysqli->real_esacpe_string($tbname)
时,它会生成与$ tbname相同的输出,包括{{1}等无效字符时在名称中使用。
基于查看其他问题和正确用法,我找不到字符串转义失败的原因。如果程序调用用于/,'"
,它也会失败。
当mysqli_real_escape_string($mysqli, $tbname)
有效且函数没有字符串转义时,我的查询
$tbname
按预期工作。
答案 0 :(得分:0)
\'"
。但你永远不应该使用它。相反,你必须使用准备好的陈述