为什么即使成功保存数据也会返回错误值?

时间:2016-07-20 13:20:21

标签: cakephp

在cakephp模型中,我有这个代码: -

class ApplyRequest extends AppModel {

    public $name = 'ApplyItem';

    public function saveItemTrip($sender_id, $carrier_id, $item_id, $trip_id, $applied_by, $applied_to)
    {
        $queryInsert = "INSERT INTO apply_items (sender_id, carrier_id, item_id, trip_id, applied_by, applied_to)
                        VALUES ('$sender_id', '$carrier_id', '$item_id', '$trip_id', '$applied_by', '$applied_to')";
        if($this->query($queryInsert))
            return true;
        else
            return false;
    }   
}

现在,从控制器,我正在调用函数: -

$isSuccess = $this->ApplyRequest->saveItemTrip($senderId, $memberId, $itemId, $getLastInsertID, $memberId, $senderId);
if($isSuccess)
{
    $status = "1";
    $message = "Trip-Request was successfull for this item";
}
else
{
    $status = "3";
    $message = "Error occured while applying for the item";
}

现在,数据将保存在apply_items查询中。但是,我总是将$ status视为3。

看来,$ isSuccess返回false,我的状态为3。

我做错了什么?

注意

我必须以这种自定义方式编写此查询。有很多理由,我无法在这里详细解释。

1 个答案:

答案 0 :(得分:0)

我认为问题是你必须在insert语句中转义变量。

$queryInsert = "INSERT INTO apply_items (sender_id, carrier_id, item_id, trip_id, applied_by, applied_to)
                    VALUES ('".$sender_id."', '".$carrier_id."', '".$item_id."', '".$trip_id."', '".$applied_by."', '".$applied_to."')";