卡在mysql查询中。需要帮助定位标点符号

时间:2013-10-02 13:40:51

标签: php mysql

<form name="a" id="a" method="post">
<textarea name="b" id="b"></textarea>
<input type="submit" name="s" id="s" value="submit" />
</form>

这是这个html表单的php部分

if($_POST['s'] == "submit") {
    $v = $_POST['b'];
     $catupd = "insert into `tbl_safari_review`
      (`fld_revdesc`)  values ('$v')";
      mysql_query($catupd) or die(mysql_error());
}

当描述中有'(撇号)时,它会给出如下错误: 您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第2行''abc'')附近使用正确的语法

我尝试过多次引用,但没有成功。请帮助我们! 谢谢。

2 个答案:

答案 0 :(得分:3)

$v = $_POST['b'];

将其更改为

$v = addslashes($_POST['b']);

答案 1 :(得分:1)

永远不要将未经过清理的用户输入插入数据库。这会导致SQL注入。试试这个

$catupd = sprintf("insert into `tbl_safari_review`
  (`fld_revdesc`)  values ('%s')", mysql_real_escape_string($v));
  mysql_query($catupd) or die(mysql_error());