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

使用mysqli_escape_string()函数使用php进行数据收集,php,Php,我正在尝试从用户那里收集数据,但仍然收到此错误 语法错误,意外的“名称”(T_字符串) 这里是产生此错误的代码行 $name = mysqli_escape_string("$_POST['name']"); 您忘了将参数传递给函数,还额外加了两个引号 试试这个: $name = mysqli_escape_string($conn, $_POST['name']); 您忘了将参数传递给函数,还额外加了两个引号 试试这个: $name = mysqli_escape_string($conn

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

语法错误,意外的“名称”(T_字符串)

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

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

您忘了将参数传递给函数,还额外加了两个引号

试试这个:

$name = mysqli_escape_string($conn, $_POST['name']);

您忘了将参数传递给函数,还额外加了两个引号

试试这个:

$name = mysqli_escape_string($conn, $_POST['name']);
这里有两个问题

首先,该函数要求将db connection作为第一个参数传递,另一个参数是引号

下面是正确的语法,假设您确实使用了
mysqli\uu
来连接

$name = mysqli_escape_string($connection, $_POST['name']);
如果不是,则使用其等效的

$name = mysql_escape_string($_POST['name']);

mysqli\u-escape\u-string
mysqli\u-real\u-escape\u-string
的别名,因此您可能需要将其更改为该别名,或者如果您的db连接是
mysql\u-code>或
mysqlireal\u-escape\u-string
,如果使用
mysqli\u-code>进行连接,则需要将其更改为该别名

  • 不同的MySQL API不会混合使用
阅读文档:

mysqli_escape_string-mysqli_real_escape_string()的别名

此函数是:mysqli\u real\u escape\u string()的别名

字符串mysqli\u real\u escape\u字符串(mysqli$link,字符串$escapestr)

这里有两个问题

首先,该函数要求将db connection作为第一个参数传递,另一个参数是引号

下面是正确的语法,假设您确实使用了
mysqli\uu
来连接

$name = mysqli_escape_string($connection, $_POST['name']);
如果不是,则使用其等效的

$name = mysql_escape_string($_POST['name']);

mysqli\u-escape\u-string
mysqli\u-real\u-escape\u-string
的别名,因此您可能需要将其更改为该别名,或者如果您的db连接是
mysql\u-code>或
mysqlireal\u-escape\u-string
,如果使用
mysqli\u-code>进行连接,则需要将其更改为该别名

  • 不同的MySQL API不会混合使用
阅读文档:

mysqli_escape_string-mysqli_real_escape_string()的别名

此函数是:mysqli\u real\u escape\u string()的别名

字符串mysqli\u real\u escape\u字符串(mysqli$link,字符串$escapestr)

用于最佳安全性

但是mysqli:

mysqli_escape_string($conn, $_POST['name']);
mysql:

mysqli_escape_string($_POST['name'],$conn);
可选将此代码用于取消php代码客户端:

mysqli_escape_string($conn, html_special_character($_POST['name']));
用于最佳安全性

但是mysqli:

mysqli_escape_string($conn, $_POST['name']);
mysql:

mysqli_escape_string($_POST['name'],$conn);
可选将此代码用于取消php代码客户端:

mysqli_escape_string($conn, html_special_character($_POST['name']));

非常感谢@SpongePablo。。。!!很难成为一个新手@约翰:不客气!如果问题解决了,别忘了把它关上!非常感谢@SpongePablo。。。!!很难成为一个新手@约翰:不客气!如果问题解决了,别忘了把它关上@约翰,欢迎你,约翰,为mysqli_real_escape_string($_POST['name'])干杯。也可以。这是不可能的@johnT,应该会抛出一个错误。@johnT“mysqli\u real\u escape\u字符串($\u POST['name'])。也可以工作。”-我觉得这很难相信。手册中指出,
string mysqli\u real\u escape\u string(mysqli$link,string$escapestr)
-
$link
是数据库连接的链接变量。我想我应该避免这样做@Fred ii-。@johnT不客气,John,为mysqli\u real\u escape\u string($\u POST['name'))干杯。也可以。这是不可能的@johnT,应该会抛出一个错误。@johnT“mysqli\u real\u escape\u字符串($\u POST['name'])。也可以工作。”-我觉得这很难相信。手册说明
string mysqli\u real\u escape\u string(mysqli$link,string$escapestr)
-
$link
是数据库连接的链接变量。我想我应该避免这样做@Fred ii-。仅供参考:你可以接受帮助你最多并解决问题的答案()仅供参考:你可以接受的答案是谁帮了你最大的忙,解决了你的问题()