簡體   English   中英

Codeigniter where_in JSON 列

[英]Codeigniter where_in JSON column

我需要一個 Codeigniter 查詢來從 JSON 列 MYSQL 表中獲取結果。

示例列數據如下。

["1","2","6","4","3","5","7","9","8"]

目前我為此使用波紋管代碼,但它不起作用。

$DOCUMENTS = $this->db->select('*')->where('JSON_CONTAINS(BELONG) = '.$_POST['ID'].'')->get('SOLIDARITY_REQUESTED_FILES')->result_array();

如果您的 JSON 格式與您的數據一樣為數組,您可以將 ID 連接到逗號和引號。 然后 TRIM 方括號並通過 LIKE 語句查找。

$concat = "CONCAT(',\"',TRIM(LEADING '[' FROM TRIM(TRAILING ']' FROM BELONG)),'\",')";
$theId = ',"'.$_POST['ID'].'",';
$DOCUMENTS = $this->db->select('*')->like($concat, $theId)->get('SOLIDARITY_REQUESTED_FILES')->result_array();

希望這有幫助。

假設我正在記錄 city_id 應該在以下列表中的位置。 1,2,3,4,5,6,7,8 然后下一行你可以添加到你的代碼中

    $city_id_list = "1,2,6,4,3,5,7,9,8";
    $this->db->where_in('city_id', $city_id_list);

JSON_CONTAINS函數至少需要兩個參數。 這里查看更多詳細信息

$_POST數據添加到查詢中是危險的。 具有input類的 Codeigniter 從POST請求中獲取數據。

$id = $this->input->post('ID');

$DOCUMENTS = $this->db->select('*')->where("JSON_CONTAINS(BELONG, $id)>0")->get('SOLIDARITY_REQUESTED_FILES')->result_array();

如果您需要進一步的指導,請隨意。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM