更新我的记录

时间:2012-07-19 21:08:49

标签: php mysql

亲爱的朋友,我正在尝试更新重新编码,但总会出现以下消息

“您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在第9行附近使用正确的语法”

代码看起来很好,但我不明白我做错了可以有人帮忙。 在此先感谢。

<?php
if(isset($_POST['edit'])){
         // this id wil be pulled from the URL above. 
        $hot_id     = $_GET['hotl'];  
        $hotel_name = escape_value($_POST['title']);
        $hotel_star = escape_value($_POST['category']);
        $shortdes   = escape_value($_POST['shortdes']);
        $country    = escape_value($_POST['country']);
        $address    = escape_value($_POST['address']);
        $pcode      = escape_value($_POST['pcod']);
        $city       = escape_value($_POST['city']);         

        $query = "UPDATE Hotels SET  
                  hotel_name = '{$hotel_name}',
                  star ='{$hotel_star}',
                  description = '{$shortdes}',
                  country = '{$country}',
                  hotel_address = '{$address}',
                  hotel_postal_code = '{$pcode}',
                  hotel_city = '{$city}'
                  WHERE hotel_id = {$hot_id}";                
            $result = mysql_query($query, $connection);

            if(mysql_affected_rows() == 1){
            //Success
            }else{
            die("Some thing wrong with the Upadate: ". mysql_error());
            }

        }else{
        //error ocurred
        }
?>

我在PHP和Mysql论坛中发布我的问题,因为我不知道问题在哪里。

2 个答案:

答案 0 :(得分:1)

调试SQL语句的最简单方法(如上所述)是在提交查询之前回显您的查询并确切地查看您要发送到数据库的内容。话虽如此,为什么不尝试在$ hot_id var:

周围加一些引号('')

WHERE hotel_id = '{$hot_id}'

答案 1 :(得分:-1)

在更新的某个地方应该有$ hot_id:

"UPDATE Hotels SET  
    hotel_name = '{$hotel_name}', hotel_id = '{$hot_id}', etc