我正在尝试从用户收集数据,但我仍然收到此错误。
语法错误,意外'名称'(T_STRING)。
这里是产生此错误的代码行;
$name = mysqli_escape_string("$_POST['name']");
答案 0 :(得分:5)
mysqli_
这里有两个问题。
首先,该函数需要将db连接作为第一个参数传递,另一个是引号。
这是正确的语法,假设您确实使用$name = mysqli_escape_string($connection, $_POST['name']);
进行连接。
mysql_
如果没有,则使用其$name = mysql_escape_string($_POST['name']);
等效项
$name = mysql_escape_string($_POST['name'], $connection);
或
mysqli_escape_string
mysqli_real_escape_string
是mysql_real_escape_string
的别名,因此您可能需要将其更改为,或mysql_
如果您的数据库连接为mysqlireal_escape_string
或mysqli_
,则使用<div class="xclass">
<table>
<thead>
<tr class="header">
<th>Table attribute name
<div class="headerdiv">Table attribute name</div>
</th>
<th>Value
<div>Value</div>
</th>
<th>Description
<div>Description</div>
</th>
</tr>
</thead>
</table>
</div>
进行连接。
阅读文档:
mysqli_escape_string - mysqli_real_escape_string()的别名
此函数是别名:mysqli_real_escape_string()。
string mysqli_real_escape_string(mysqli $ link,string $ escapestr)
答案 1 :(得分:0)
您忘记将mysqli connection参数传递给函数,并且还添加了2个额外的引号。
试试这个:
$name = mysqli_escape_string($conn, $_POST['name']);
答案 2 :(得分:0)
使用pdo获得最佳安全性
但是mysqli:
mysqli_escape_string($conn, $_POST['name']);
MySQL的:
mysqli_escape_string($_POST['name'],$conn);
可选使用此代码取消php代码客户端:
mysqli_escape_string($conn, html_special_character($_POST['name']));