Я хочу сравнение между двумя таблицами (table_foreign
, table_submits
) в базе данных, чтобы, если не существует каких-либо данных из таблицы table_foreign
в таблице table_submits
в базе данных, передавались эти данные в таблице table_foreign
или обновлялись.
$query_tfhi = $this->db->query("SELECT * FROM table_foreign ORDER BY id desc");
foreach ($query_tfhi->result() as $row) {
$data_hi = json_decode($row->how_id, true);
foreach ($data_hi as $hitf) {
foreach ($hitf['howinto_id'] as $val_hitf) {
//echo $val_hitf.'<br>';
$query_delhi = $this->db->query("SELECT * FROM table_submits WHERE id LIKE '$val_hitf'");
if ($query_delhi->num_rows() == 0) {
//echo $val_hitf;
$this->db->query("DELETE how_id = array('howinto_id'=>$val_hitf) FROM tour_foreign WHERE id LIKE '$row->id'");
} else {
}
}
}
}
У меня в таблице table_foreign
для столбца how_id
как (это хранилище данных (вставлено) с json_encode
для столбца в таблице базы данных строк):
[{
"howinto_id": ["14"]
},{
"howinto_id": ["5"]
},{
"howinto_id": ["4"]
}, {
"howinto_id": ["3"]
}, {
"howinto_id": ["2"]
}, {
"howinto_id": ["1"]
}]
в таблице table_submits
в столбце id
:
1
, 2
, 3
, 4
При сравнении двух таблиц в table_foreign
значение 14,
5` следует удалить.после этого это выглядит так:
[{
"howinto_id": ["4"]
}, {
"howinto_id": ["3"]
}, {
"howinto_id": ["2"]
}, {
"howinto_id": ["1"]
}]
В выходных данных выше PHP-код содержит ошибку:
Произошла ошибка базы данных
Номер ошибки: 1064
В вашем синтаксисе SQL есть ошибка;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с '(' howinto_id '=> 14) ОТ tour_foreign WHERE id LIKE' 1 '' в строке 1
DELETE how_id =массив ('howinto_id' => 14) FROM table_foreign WHERE id LIKE '1'
Имя файла: D: \ xampp \ htdocs \ system \ database \ DB_driver.php
Номер строки: 330
Как их починить?