0

我已经尝试了几个小时来使用 PHP 更新 MySQL 表。

我使用了以下代码(和其他几个),但它给出了一条错误消息:

    $id = $_GET['id'];

    if(isset($_POST['descr'])){
    $go = $_POST['descr'];

    mysql_query("UPDATE Rooms SET Desc='$go' WHERE Room_ID='$id'") 
    or die(mysql_error());  

    }


    mysql_close($conn);

出现错误:“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以在 'Desc='附近使用正确的语法。这个房间是主测试室。是吗?” WHERE Room_ID='11'' 在第 1 行"

表单名为:“descr”,表“Rooms”,需要更新的字段为“Desc”,应该是对应ID的位置,基于动态URL。

如果我写 echo = $go 它输出正确的数据,所以我想它是 php.ini 。

它确实正确连接到数据库。

4

3 回答 3

4

Desc 是 mysql 中的一个特殊词 try it by escape

mysql_query("更新房间设置`Desc`='$go' WHERE Room_ID='$id'")
于 2012-07-06T07:27:58.517 回答
1

假设 ID 是一个数字:

$id = $_GET['id'];

if(isset($_POST['descr'])){
$go = $_POST['descr'];

mysql_query("UPDATE Rooms SET `Desc`='".$go."' WHERE Room_ID=".$id.") 
or die(mysql_error());  
}
mysql_close($conn);
于 2012-07-06T07:26:54.297 回答
0

Desc 是为 ORDER BY 保留的!用'`'符号括起来!

mysql_query("UPDATE `Rooms` SET `Desc` = '".$go."' WHERE `Room_ID` = ".$id.") 
or die(mysql_error());
于 2012-07-06T07:27:46.303 回答