无法使用php在数据库中插入带有'符号的文本

时间:2017-06-07 17:02:15

标签: php mysql insert

所以我遇到了这个问题,我似乎无法在我的数据库中插入包含以下字符的文本:'(例如:它是)。我以前遇到过这个问题而且我只是删除了这个符号,但是现在我真的需要一个解决方案而且在整个网络或堆栈溢出中无处可寻,我似乎无法找到一个体面而明确的答案。

这是我的数据显示方式:

HTML

<textarea name="text_from_form">
      This is the kind of stuff I need and It's awesome (user input example)
</textarea>

PHP

<?php

  $my_text = $_POST["text_from_form"};
  $my_text_new = htmlentities($my_text);

  $sql = "INSERT INTO tableName (text)
  VALUES ('$my_text_new')";
?>

错误

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's awesome ')' at line 2

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

htmlentities()函数在默认标记')中没有单引号ENT_COMPACT,使用htmlentitees($text, ENT_QUOTES)或函数mysql_real_escape_string()或{{ 1}}取决于您使用的库