-1

可能重复:
MySQL - 何时使用单引号、双引号和反引号?

我有这段代码,我无法正常工作。

require_once("../Packages/Connection.php");

        $text = mysql_real_escape_string($_POST["articleText"]);

        $method = $_POST['method'];
        $articleId = $_POST['articleId'];

        if($method == "update")
        {
            mysql_query("UPDATE Articles SET 'text'='".$text."' WHERE 'id'='".$articleId."'") or die(mysql_error());
        }

这让我很烦,这是我得到的错误 - 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 ''text'='tester2' WHERE 'id'='29'' 附近使用正确的语法...

预先感谢

4

5 回答 5

1

为什么你的 SQL 中有“文本”...

它应该只是文本,仅此而已:(ID 相同)

mysql_query("UPDATE Articles SET text = '".$text."' WHERE id='".$articleId."'") or die(mysql_error());

您可能会将“'”与转义字符的反引号或“`”混淆并且对保留关键字很有用......

于 2012-10-10T20:24:56.567 回答
0

尝试

   mysql_query("UPDATE Articles SET `text`='".$text."' WHERE `id`='".$articleId."'")
于 2012-10-10T20:31:42.867 回答
0
 mysql_query("UPDATE Articles SET text='".$text."' WHERE id='".$articleId."'") or die(mysql_error());
于 2012-10-10T20:24:11.230 回答
0

首先构建查询,然后执行它:

$sql = "UPDATE Articles SET 'text'='".$text."' WHERE 'id'='".$articleId."'";
$r = mysql_query($sql);
if (!$r) {
    echo "Query: ", $sql, "\n";
    echo "Error: ", mysql_error();
    die();
}

这将允许您更好地查看您发送到数据库的确切内容,以便您可以实际检查错误消息向您建议的语法。

于 2012-10-10T21:04:26.897 回答
-2

你应该用这个

mysql_query("UPDATE Articles SET text ={$text} WHERE id ={$articleId}") or die(mysql_error ());
于 2012-10-10T20:26:29.670 回答