php下如何將json格式的資料直接存入mysql資料庫?

來源:互聯網
上載者:User
使用php json_encode 過,直接存入mysql報錯,google一下 沒有找到合適的解決方案,請問如何處理才能將json格式的資料存入mysql

代碼:

$imgs_str = json_encode($imgs_array); $imgs_str = addslashes($imgs_str); $update_query = "updatearticleset imageList = $imgs_str where id = $targetid";

這個問題已被關閉,原因:

回複內容:

使用php json_encode 過,直接存入mysql報錯,google一下 沒有找到合適的解決方案,請問如何處理才能將json格式的資料存入mysql

代碼:

$imgs_str = json_encode($imgs_array); $imgs_str = addslashes($imgs_str); $update_query = "updatearticleset imageList = $imgs_str where id = $targetid";

json編碼後的資料是這樣的:

{"key":"value"}

那sql就是這樣的:

insert into `table` (`field`) values ("{"key":"value"}")

所以就出錯了

完整代碼:

$data = json_encode($array);// 過濾$data = addslashes($data);// 入庫$db->insert($table_name,array(    'field' => $data,));

輸入有點不對題,PHP 裡的JSON也是用json_encode 來的(自己組合出來的當我沒說哈),用 serialize 函數 吧。直接存數組好了。

PHP 有一個 serialize 序列化函數,這問題你應該查文檔。

其實沒有必要在MYSQL中儲存JSON JSON這樣的格式:{"key":"vlaue"};在PHP 和 MYSQL 互動過程中很多餘。

如:@cevin 所說,

$data = json_encode($array);// 過濾$data = addslashes($data);// 入庫$db->insert($table_name,array(    'field' => $data,));

實際上已經做了一次無用功那就是 json_encode($data);何不直接 addslashes($data) 後直接入庫?

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.