$data = "INSERT into detail(id,event) VALUES (1,"quest '15")";
我在使用单引号'15
时遇到问题,.i 试图使用''15
但似乎不起作用。
试试这个:
$data = "INSERT into detail(id,event) VALUES (1,'"quest '15''")";
试试这个:$data = "插入详细(id,事件)值 (1,'任务 '''15')";
问题不在于单引号;问题在于在用双引号括起来的字符串文本中使用双引号。您的双引号字符串文字实际上是在 quest
之前结束的。
一种替代方法是对 SQL 文本中的字符串文本使用单引号。在字符串文本中,您需要"转义"单引号,一种方法是在单引号前面加上另一个单引号。
例如:
$data = "INSERT into detail(id,event) VALUES (1,'quest ''15')";
^ ^^ ^
如果这样做,event
列的值将被视为quest '15
我强烈建议使用预准备语句,但代替它,您可以使用mysqli_real_escape_string。
$data "INSERT INTO detail (id, event) VALUES (1, '".mysqli_real_escape_string("quest '15")."')";