【发布时间】:2010-08-30 16:22:29
【问题描述】:
我刚刚实现了 mysql_real_escape_string(),现在我的脚本不会写入数据库。在添加 mysql_real_escape_string() 之前一切正常:
有什么想法吗??
$name = mysql_real_escape_string($_POST['name']);
$description = mysql_real_escape_string($_POST['description']);
$custid = mysql_real_escape_string($_SESSION['customerid']);
mysql_send("INSERT INTO list
SET id = '',
name = '$name',
description = '$description',
custid = '$custid' ");
【问题讨论】:
-
什么是mysql_send?有没有报错?查询在发送到 mysql 之前是什么样子(尝试回显)?
-
调试提示:将 SQL 语句放在一个变量中,即
$sql = "INSERT INTO list SET id = '', name = '$name'"等...然后是echo $sql(或die($sql))。这可能会阐明导致问题的原因。另外,你是如何连接到数据库的,你自己还是通过某种第 3 方 api?如果是后者,也许 api 推荐了一种转义数据的方法。