使用Angular.js和PHP更新数据后无法返回成功消息

时间:2015-12-11 05:27:31

标签: php angularjs

我有一个问题。我能够更新数据库中的数据,但无法返回成功消息。我正在解释下面的代码。

<?php
require_once("../include/dbconfig.php");
$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
$pro_info=$request->db_quantity_info;
$len=count($pro_info);
$fields=array("quantity");
$tablename=PREFIX."product_info";
for($i=0;$i<$len;$i++){
    $pro_id=$pro_info[$i]->pro_Id;
    $quantity=$pro_info[$i]->quantity;
    $values=array($quantity);
    $condn="pro_Id='".prepare_param($pro_id)."' ";
    $id=db_update($tablename,$fields,$values,$condn);
}
if($id){
    $return["msg"]="updated successfully";
}else{
   header("HTTP/1.0 401 Unauthorized");
   $return["msg"]="Unable to update";
}
echo json_encode($return);

?>

function db_update($table,$columns, $values, $condition=""){
    global $con;
    if($table=="" || $columns=="" || $values=="" || count($columns) != count($values)){
        return false;
    }
    $updatestr="";
    for($i=0;$i<count($columns);$i++){
        if($updatestr==""){
            $updatestr=" SET ".$columns[$i]." = '".$con->real_escape_string($values[$i])."'";
        }else{
            $updatestr.=" , ".$columns[$i]." = '".$con->real_escape_string($values[$i])."'";
        }
    }
    if($condition !=""){
        $condition=" WHERE ".$condition;
    }
    $sql = "UPDATE ".$table." ".$updatestr.$condition;
    if($con->query($sql)){
        return $con->affected_rows;
    }else{
        return false;
    }
}

这里我的数据数组正在成功更新,但是else部分正在执行。当我通过返回它来测试$id时,它总是显示为零。在DB内部更新后我需要成功消息返回。< / p>

0 个答案:

没有答案