这个查询执行得很完美:
public function alter_orders()
{
return $this->db->query("UPDATE `orders` SET `Ready_Date_Time` = '2016-06-02 00:00:00', `Delivery_Date_Time` = '2016-06-01 00:00:00', `Status` = $Status WHERE `orders`.`Order_ID` = $primary_key;");
}
但这不是:
public function alter_orders()
{
$primary_key = 1;
$Ready_Date_Time = "2016-06-02 00:00:00";
$Delivery_Date_Time = "2016-06-02 00:00:00";
$Status = 1;
return $this->db->query("UPDATE `orders` SET `Ready_Date_Time` = $Ready_Date_Time, `Delivery_Date_Time` = $Delivery_Date_Time, `Status` = $Status WHERE `orders`.`Order_ID` = $primary_key");
}
我从来没有从这个函数与第二个查询返回。我不知道哪里出错了。
您仍然需要将查询中的日期用引号括起来。在变量内部并不意味着SQL不需要它们。在执行查询之前,变量的值被插入到查询中,并且就MySQL而言是纯文本文本。
public function alter_orders()
{
$primary_key = 1;
$Ready_Date_Time = "2016-06-02 00:00:00";
$Delivery_Date_Time = "2016-06-02 00:00:00";
$Status = 1;
return $this->db->query("UPDATE `orders` SET `Ready_Date_Time` = '$Ready_Date_Time', `Delivery_Date_Time` = '$Delivery_Date_Time', `Status` = $Status WHERE `orders`.`Order_ID` = $primary_key");
}