我正在打開購物車中創建模型。使用vqMod我正在模型中編寫代碼。 我想通過添加一個coloumn來改變表格,如果它不存在於表格中的話。 這是我的代碼。如果在sql中不存在添加列Opencart
$field_name = 'GeoZoneID';
$col = $this->db->query("SELECT ".$field_name." FROM ".DB_PREFIX."order");
if (!$col){
$this->db->query("ALTER TABLE ".DB_PREFIX."order ADD ".$field_name." int(11) First");
$zone_id=array();
$zone_id=$this->db->query("SELECT zgz.geo_zone_id FROM `oc_zone_to_geo_zone` AS zgz WHERE zone_id = (SELECT shipping_zone_id FROM oc_order WHERE order_id = '".$order_id."') ");
$zone_id=$zone_id->row['geo_zone_id'];
$query=$this->db->query("UPDATE `oc_order` SET GeoZoneID ='".$zone_id."' WHERE order_id ='".$order_id."'");
}
else {
$zone_id=array();
$zone_id=$this->db->query("SELECT zgz.geo_zone_id FROM `oc_zone_to_geo_zone` AS zgz WHERE zone_id = (SELECT shipping_zone_id FROM oc_order WHERE order_id = '".$order_id."') ");
$zone_id=$zone_id->row['geo_zone_id'];
$query=$this->db->query("UPDATE `oc_order` SET GeoZoneID ='".$zone_id."' WHERE order_id ='".$order_id."'");
}
我不知道爲什麼它不執行它不會改變我的tabel。
只是一個建議(可能無法解決問題):將'$ col'查詢更改爲''「顯示來自'」的列。 DB_PREFIX。 「_order」其中'Field' ='{$ field_name}'「'',然後使用'if($ col-> num_rows == 0)' –
進行檢查,如果提供更多關於哪個部分不是執行 –