php
  • mysql
  • 2012-07-06 65 views 0 likes 
    0

    我已经尝试了几个小时,现在用PHP更新MySQL表。MySQL UPDATE给出错误

    我用下面的代码(和其他几个人),但它给出了一个错误信息:

    $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''at line 1“

    表格称为:”descr“,表格”Rooms“,需要更新的字段是”Desc“,它应该是相应ID的位置,基于在动态网址上。

    如果我写回声= $去输出正确的数据,所以我想这是PHP。

    它能正确连接到数据库。

    +0

    如果列ROOM_ID被设置为一个数值类型,那么你就需要大约$ ID的单引号。 – Stegrex 2012-07-06 07:27:38

    回答

    4

    说明是在MySQL 一个特殊字,尝试通过逃生

     
    mysql_query("UPDATE Rooms SET `Desc`='$go' WHERE Room_ID='$id'") 
    
    +0

    发现了,我不得不纠正我的答案。 +1 – Fluffeh 2012-07-06 07:29:57

    +0

    非常感谢:)我一直在尝试逃跑,但必须一直做错别字。 – Christian 2012-07-06 07:45:13

    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); 
    
    +0

    习惯的力量使得语法着色更容易找到查询中的变量。刚开始的时候,发现它更容易阅读。 – Fluffeh 2012-07-06 07:31:52

    0

    说明被保留用于ORDER BY!用'`'符号括起来!

    mysql_query("UPDATE `Rooms` SET `Desc` = '".$go."' WHERE `Room_ID` = ".$id.") 
    or die(mysql_error()); 
    
    相关问题