PHP mysql_query update总是返回true

时间:2013-11-26 23:39:00

标签: php mysql return-value

$ result总是返回true,即使没有参数传递给SQL查询。

其他一切都很好,我已在数据库中对其进行了测试。

<?php
     require('dbConnection.php');
    $lon   = $_POST['lon'];
    $lat   = $_POST['lat'];
    $time  = $_POST['time'];
    $date = $_POST['date'];
    $eTime = $_POST['eTime'];
    $eDate = $date;
    $orderID = $_POST['orderID'];


    if($db_found){

        $query = "UPDATE `PostmanLocation` 
        SET `longitude`= '$lon',`latitude`= '$lat',`time`= '$time', `date`='$date'
        WHERE `postID`= '$name'";

        $result=0;

        $result = mysql_query($query) or die("MySQL error:".mysql_error());
        echo $result;
        if($result==1){

                $query = "
                UPDATE `Order` 
                SET `eTime`= '$eTime',`eDate`= '$eDate' 
                WHERE `orderID` = 'orderID'";

                 $result=0;
                $result = mysql_query($query);
                echo $result;
                if($result == 1){
                    $response["success"] = 1;

                } else{  
                    $response["success"] =0;   
                }

        }else{
            $response["success"] = 0;
        }
        echo json_encode($response);
     }
    ?>

1 个答案:

答案 0 :(得分:5)

$result = mysql_query($query) or die("MySQL error:".mysql_error());

在上面的说明中,$result永远不会为假:mysql_query返回true,否则脚本会死亡。

如果您想要检查UPDATE查询是否有任何效果,可以使用:

  

使用mysql_affected_rows()查找受影响的行数   DELETE,INSERT,REPLACE或UPDATE语句。

http://us3.php.net/manual/en/function.mysql-affected-rows.php

另请注意,不推荐使用mysql_函数。你应该切换到PDO或mysqli。