【问题标题】:How to save an array to a mysql database in laravel如何在laravel中将数组保存到mysql数据库
【发布时间】:2016-07-21 23:20:25
【问题描述】:

所以我想将一些标签数据从 UI 表单保存到数据库中,

标签: ["male","female","kids"]

我尝试了所有类似但它保存为字符串,我还尝试检查我是否可以将数据类型更改为 mysql 或 json 中的数组,但我得到了这个

您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行的“JSON(255) NOT NULL”附近使用正确的语法

我也尝试了 json_encode 和 json_decode() 但仍然没有头,请问我该怎么办?

【问题讨论】:

  • 请分享您的尝试!仅根据错误消息,很难找出可能出了什么问题。

标签: mysql arrays laravel-5.2 mariadb


【解决方案1】:

DB 中没有 JSON 或 Array 等任何数据类型。
您可以做的是使用@Rick James 告知的标签字段作为文本,然后在插入之前使用json_encode() 方法将您的输入编码为json,然后在使用json_decode() 方法从DB 检索数据后对其进行解码。

JSON 基本上是一种用于结构化数据的最小且可读的格式。这意味着它可以被视为一个字符串。

这是一篇关于 JSON 的好文章,以备不时之需。 What is JSON?

【讨论】:

  • @MN 这很奇怪。它必须在服务器上工作。使用过程中是否出现错误或异常?
  • 谢谢。我有这个错误:Invalid argument supplied for foreach()
  • @MN 很难理解这个问题。虽然您可以尝试在解码之前和解码之后打印字符串,但请尝试使用 var_dump() 打印变量
  • 谢谢。我的问题用(array) json_decode() 解决了!!
【解决方案2】:

没有名为JSON 的数据类型。而是使用 TEXT 而不使用 (255)。

【讨论】:

    猜你喜欢
    • 2018-02-25
    • 1970-01-01
    • 2021-08-23
    • 2021-11-06
    • 2017-06-22
    • 2014-02-28
    • 1970-01-01
    • 2012-09-29
    • 2016-06-14
    相关资源
    最近更新 更多