-1
<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'')' 附近使用正确的语法

我尝试了多种方式引用引号,但没有成功。请帮帮我!谢谢你。

4

2 回答 2

3
$v = $_POST['b'];

将其更改为

$v = addslashes($_POST['b']);
于 2013-10-02T13:44:06.433 回答
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());
于 2013-10-02T13:50:17.500 回答