使用mysqli_escape_string()函数使用php收集数据

时间:2015-08-19 12:10:33

标签: php

我正在尝试从用户收集数据,但我仍然收到此错误。

语法错误,意外'名称'(T_STRING)。

这里是产生此错误的代码行;

$name = mysqli_escape_string("$_POST['name']");

3 个答案:

答案 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_stringmysql_real_escape_string的别名,因此您可能需要将其更改为,或mysql_如果您的数据库连接为mysqlireal_escape_stringmysqli_,则使用<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> 进行连接。

  • 不同的MySQL API不会混用。

阅读文档:

  

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']));