Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在mySQL INSERT命令中正确添加撇号_Php_Mysql_Database - Fatal编程技术网

Php 如何在mySQL INSERT命令中正确添加撇号

Php 如何在mySQL INSERT命令中正确添加撇号,php,mysql,database,Php,Mysql,Database,我正在尝试使用文本区域将一些数据添加到MySQL数据库中。但是,当某人添加撇号时,它会中断INSERT命令,因为它充当单个引号。如何解决这个问题 下面是命令的样子,如果你去掉了我使用的所有变量 INSERT INTO skills09 (name, birthday, skills) VALUES ('Tom Haverford', '31_02_1987', 'Being Awesome, Announcing cool things, Treatin' Yo Self, Failing');

我正在尝试使用文本区域将一些数据添加到MySQL数据库中。但是,当某人添加撇号时,它会中断INSERT命令,因为它充当单个引号。如何解决这个问题

下面是命令的样子,如果你去掉了我使用的所有变量

INSERT INTO skills09 (name, birthday, skills) VALUES ('Tom Haverford', '31_02_1987', 'Being Awesome, Announcing cool things, Treatin' Yo Self, Failing');
当我看着这个的时候,我有了一个想法


它是否像在变量名周围使用双引号而不是单引号一样简单?这似乎是一个简单的解决方案,但我在MySQL中总是使用单引号。

您可以使用“前面的一个引号”来逃避

在skills09(姓名、生日、技能)价值观中插入('Tom Haverford','31_02_1987','Being Awesome,宣布酷的事情,治疗'你自己,失败')

这基本上是一个骗局

如果您提供了更多关于您正在使用的语言的信息,或者用户是如何形成此sql语句的,我可以提供更多信息。例如,您基本上会通过一个函数运行用户的输入,该函数会在将“输入”发送到sql server之前将其替换为“”(2个单引号)。。在sql server中,它将正确存储为'

“转义”字符只是使其不算作结尾单引号的一种方式,并允许将其添加到插入中


您是否使用PDO或MySQLi连接到数据库?存在用于转义sql参数的内置方法。看看这里:我正在使用MySQLiUse。这是一个很长的文档,里面有很多信息。你能给我指出文档中的正确位置吗?或者最好在这里给出一个答案,这样我就可以结束这个问题了?我根本不知道你在说什么对不起。我在我的答案中添加了一个例子。它只是意味着在字符串中使用的“”之前添加一个额外的“”。这将“转义”字符串中的“that”,这意味着它不会算作结尾。这不是正确的答案。作为网站的用户,您希望如何在每次需要撇号时记住做一个“”?我不明白您在说什么,因为您没有给出示例,并且使用了错误的单词。你要找的单词在前面,我不知道你之前想说什么。我已经给出了SQL语句,我的问题用PHP和MySQL标记,用户可以输入他们想要的任何内容。我不知道你还想问些什么。另一个StackOverflow很有帮助,但它仍然不能回答问题。我知道如何独自逃离角色。我不知道该如何处理客户的声明。
$lastname  = "O'Reilly";
$_lastname = mysqli_real_escape_string($lastname);

$query = "SELECT * FROM actors WHERE last_name = '$_lastname'";