Php 在数据库mysql中更新json

Php 在数据库mysql中更新json,php,mysql,codeigniter,json,Php,Mysql,Codeigniter,Json,我想比较数据库中的两个表(table\u-foreign,table\u-submitted),如果不存在来自tabletable\u-foreign中tabletable\u-submitted数据库中的一些数据,则在tabletable\u-foreign中删除或更新它的数据 $query_tfhi = $this->db->query("SELECT * FROM table_foreign ORDER BY id desc"); foreach ($query_tfhi-&g

我想比较数据库中的两个表(
table\u-foreign
table\u-submitted
),如果不存在来自table
table\u-foreign
中table
table\u-submitted
数据库中的一些数据,则在table
table\u-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 {
            }
        }
    }
}
在表
中,在列
id
上提交

1
2
3
4

比较
table_foreign
value
14中的两个表时,
5`应删除。之后是:

[{
    "howinto_id": ["4"]
}, {
    "howinto_id": ["3"]
}, {
    "howinto_id": ["2"]
}, {
    "howinto_id": ["1"]
}]
在上面的PHP代码的输出中有错误:

发生数据库错误
错误号:1064

您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 来自tour_foreign的靠近“('howinto_id'=>14),其中第行的id类似于'1' 1

从表中删除how_id=array('howinto_id'=>14) 像“1”

文件名:D:\xampp\htdocs\system\database\DB\u driver.php

行号:330


如何解决这些问题?

我认为您的问题应该这样解决:

  • 首先,当json obj返回数组时,您需要以数组的形式(无论如何)从json obj中检索两个表的数据
  • 第二,你可以使用
    array_diff($array1,$array2)
    返回两个数组之间的差异数组
  • 第三,您可以从差异数组中选择ID(
    $Ids

    和使用

    $this->db->where_in(“Id”,$Id)->删除(“table_提交”)


  • 像这样,您已经从数据库中删除了两个表之间的差异,并告诉我您是否同意

    PHP是PHP,SQL是SQL。不要将两者混用。这个比较(操作)可能会重复。我该怎么做?为什么要首先将JSON插入MySQL?这就是您是否要与表中JSON值的元素进行比较?这是不可能的,至少不是明智的。
    [{
        "howinto_id": ["4"]
    }, {
        "howinto_id": ["3"]
    }, {
        "howinto_id": ["2"]
    }, {
        "howinto_id": ["1"]
    }]