【问题标题】:How do I insert data from a json array into mysql database? [closed]如何将 json 数组中的数据插入 mysql 数据库? [关闭]
【发布时间】:2014-03-12 19:09:33
【问题描述】:

我现在正在尝试使用 php 将 JSON 数组中的数据插入到 mysql 数据库中,但是我尝试过的任何方法都不起作用。

我的数组看起来像这样......

Array  
(  
    [] => -4.0533  
    [bert] => 2
    [earnie] => 0.25  
    [bigbird] => 0.25  
    [grouch] => 1.25  
)

我正在尝试将此数据插入到具有名为“useramounts”的表的 mysql 数据库中 该表包含 2 列。 (username,amount) 以便每一行都包含一个用户名和相关的金额

这对你们来说可能很简单,但我以前从未尝试过。我试图用谷歌搜索解决方案,但无济于事。谁能帮帮我?

【问题讨论】:

  • 到目前为止你尝试过什么?也许阅读 PHP/MySQL 并遵循教程是一个更好的起点。如果您在此过程中有具体问题,请随时在此处提问。
  • 感谢乔尔的礼貌回应,但我现在放弃了,所以不用担心。
  • @noloader:链接的问题确实有一个鼓励不良做法的答案(它正在为每个循环创建一个插入)。

标签: php mysql arrays json


【解决方案1】:

你试过什么?

试试这个方法:

  • 将 JSON 转换为 PHP 数组 (json_decode())
  • 遍历数组,获取每个条目的键和值(foreach(){}array_keys()
  • 使用插入创建单个字符串并为每一行添加VALUES()
  • 在循环之后执行查询

    $keys = array_keys($array);              // get the value of keys
    $rows = array();                         // create a temporary storage for rows
    foreach($keys as $key) {                 // loop through
        $value = $array[$key];               // get corresponding value
        $rows[] = "('" . $key . "', '" . $value . "')";
                                             // add a row to the temporary storage 
    }
    $values = implode(",", $rows);           // 'glue' your rows into a query
    $query = "INSERT INTO ... VALUES " . $values;
                                             // write the rest of your query
    ...                                      // execute query
    

一旦发现具体问题,请随时打开另一个帖子。

【讨论】:

    猜你喜欢
    • 2014-04-26
    • 2014-04-26
    • 1970-01-01
    • 2013-03-25
    • 1970-01-01
    • 1970-01-01
    • 2016-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多