PHP、mysql\u real\u escape\u字符串和mysql查询

PHP、mysql\u real\u escape\u字符串和mysql查询,php,mysql,Php,Mysql,我收到一个类似于此的查询错误,但我还没有找到问题所在: $str = "rob's"; ... $query ="INSERT INTO tableName (name) VALUES (mysql_real_escape_string('$str')"; 编辑: 我道歉。我在减少代码时犯了一个错误;这更接近于我给出的错误: $str = "rob's"; ... $query ="INSERT INTO tableName (name) VALUES (('".mysql_real_esca

我收到一个类似于此的查询错误,但我还没有找到问题所在:

$str = "rob's";
...
$query ="INSERT INTO tableName (name) VALUES (mysql_real_escape_string('$str')";
编辑:

我道歉。我在减少代码时犯了一个错误;这更接近于我给出的错误:

$str = "rob's";
...
$query ="INSERT INTO tableName (name) VALUES (('".mysql_real_escape_string($str)."')";

mysql\u real\u escape\u string()
是PHP,而不是mysql。你需要把它从报价中拿出来

$query ="INSERT INTO tableName (name) VALUES ('".mysql_real_escape_string($str)."')";

另外,$str是一个字符串,所以在MySQL中它也需要被qoutes包围,我添加了它们。您已经准备好了这个函数,但是因为需要从引号中取出函数,所以必须移动它们

mysql\u real\u escape\u string()
是PHP,而不是mysql。你需要把它从报价中拿出来

$query ="INSERT INTO tableName (name) VALUES ('".mysql_real_escape_string($str)."')";
$query ="INSERT INTO tableName (name) VALUES ('" . mysql_real_escape_string($str) . "'";

另外,$str是一个字符串,所以在MySQL中它也需要被qoutes包围,我添加了它们。您已经准备好了这个函数,但是因为需要从引号中取出函数,所以必须移动它们。

mysql\u real\u escape\u string()
是一个PHP函数。因此,在MySQL查询字符串中,必须像传递变量一样传递它:

$query ="INSERT INTO tableName (name) VALUES ('" . mysql_real_escape_string($str) . "'";
$query ="INSERT INTO tableName (name) VALUES ('" . mysql_real_escape_string($str) . "')";

阅读更多信息:

mysql\u real\u escape\u string()是一个PHP函数。因此,在MySQL查询字符串中,必须像传递变量一样传递它:

$query ="INSERT INTO tableName (name) VALUES ('" . mysql_real_escape_string($str) . "')";

阅读更多信息:

我建议在插入查询之前执行mysql\u real\u escape\u string()函数。在查询调用期间尝试剥离字符时存在已知问题。下面的代码我以前使用过很多次,我知道它是有效的。如果您告诉我们您所遇到的错误,您是否正在使用mysql扩展,例如mysql*i*,以及您正在使用的真实代码,这也会有所帮助。“我在减少代码时犯了一个错误;这更接近于我所拥有的给出一个错误”并不能真正帮助缩小问题的范围,因为您可能删除了在减少代码时抛出错误的部分。尽管如此,使用我下面的东西应该对你很好

$str = $_POST['name'];
mysql_real_escape_string($str);
$query = "INSERT INTO tableName (name) VALUES (".$str.")";
mysql_query($query);

我建议在插入查询之前执行mysql\u real\u escape\u string()函数。在查询调用期间尝试剥离字符时存在已知问题。下面的代码我以前使用过很多次,我知道它是有效的。如果您告诉我们您所遇到的错误,您是否正在使用mysql扩展,例如mysql*i*,以及您正在使用的真实代码,这也会有所帮助。“我在减少代码时犯了一个错误;这更接近于我所拥有的给出一个错误”并不能真正帮助缩小问题的范围,因为您可能删除了在减少代码时抛出错误的部分。尽管如此,使用我下面的东西应该对你很好

$str = $_POST['name'];
mysql_real_escape_string($str);
$query = "INSERT INTO tableName (name) VALUES (".$str.")";
mysql_query($query);

你把$str当作字符串你把$str当作字符串你最好放弃过时的
mysql\uu
函数,切换到一个提供参数化查询的库,例如PDO。你在这里有一个额外的括号
值((“.mysql\u real\u escape\u string($str)。”
应该像
值(“.mysql\u real\u escape\u string($str)。”
。不是吗?“我遇到了一个错误”-错误消息是怎么说的?这是非常重要的信息,你不会说吗?最好放弃过时的
mysql\uuu
函数,切换到提供参数化查询的库,例如PDO。这里有一个额外的括号
值(“.mysql\u real\u escape\u string($str)。”)
应该像
值(“.mysql\u real\u escape\u string($str)。”)
不是吗?“我收到一个错误”-错误消息说什么?这是非常重要的信息,你说呢?