我正在循環新鮮的數組和我的數據庫數組。我想比較價格和特定ID和日期的可用性。這就是我的了:如何知道傳入數組是否與數據庫中現有數組的值不同?
foreach ($this->super_unique($data) as $day_info) {
$data_listing = Array(
'list_id' => $airbnb_id,
'list_price' => $day_info['price']['local_price'],
'list_currency' => $day_info['price']['local_currency'],
'list_date' => $day_info['date'],
'list_available' => $this->check_list_available((int)$day_info['available'])
);
$listings[] = $data_listing;
}
if ($this->Reservations_model->existing_prices(@$listings[0]['list_id']) > 0) {
foreach ($listings as $list_result) {
if ($this->db->where("(list_id = '{$list_result['list_id']}' and list_date = '{$list_result['list_date']}' and list_price NOT = '{$list_result['list_price']}' or list_available NOT = '{$list_result['list_available']}')")) {
$this->db->where("(list_id = '{$list_result['list_id']}' and list_date = '{$list_result['list_date']}')");
$this->db->update('airbnb_lists_price', $list_result['list_available']);
$this->db->update('airbnb_lists_price', $list_result['list_price']);
}
}
echo 'Prices or avilablity change so we need to update';
} else {
$this->db->insert_batch('airbnb_lists_price', $listings);
echo 'Prices not changed all good';
}
}
讓我
你在你的SQL語法錯誤;檢查對應於你的MySQL服務器版本使用附近的 '
NOT
= '70' 或list_available
NOT
= 'FALSE')AND(list_id
= '215583' 和' 第2行
UPDATE `airbnb_lists_price` SET `FALSE` = '' WHERE (`list_id` = '215583' and `list_date` = '2015-11-29' and `list_price` `NOT` = '70' or `list_available` `NOT` = 'FALSE') AND (`list_id` = '215583' and `list_date` = '2015-11-29')`
正確的語法手冊?
我在做什麼錯
'NOT ='不是一個適當的比較。看看[mysqls非類型運算符](https://dev.mysql.com/doc/refman/5.1/en/non-typed-operators.html) – Ohgodwhy