php - Json 数组不将值存入数据库

标签 php mysql json

尝试将 $json 数组值放入数据库,但遗憾的是由于某些原因它不起作用,我找不到原因。我的第一个猜测是它可能是 mysql 中的 varchar255 的原因吗?

<?php
$json = '[
    {
        "order_id":123,
        "kases_id":12,
        "product_quantity":121,
        "product_name":"suns",
        "postage_adress":"garaazha",
        "barcode":"2131231"
    }
]';
//create a DB connection
$connect = mysqli_connect("localhost", "root", "", "qrbuddy");


$result = json_decode($json);
foreach($result as $key => $value) {
    if($value) {
        mysqli_query($connect, "INSERT INTO qrbuddy (order_id, kases_id, product_quantity, product_name, postage_adress, barcode, status) VALUES ($value->order_id, $value->kases_id,$value->product_quantity,$value->product_name,$value->postage_adress,$value->barcode, 0)");
    }
    mysqli_close($connect);
}
?>

我的数据库:

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";


CREATE TABLE `qrbuddy` (
  `order_id` int(11) NOT NULL,
  `kases_id` int(11) NOT NULL,
  `product_quantity` int(11) NOT NULL,
  `product_name` varchar(255) NOT NULL,
  `postage_adress` varchar(255) NOT NULL,
  `barcode` varchar(255) NOT NULL,
  `status` tinyint(1) NOT NULL DEFAULT '0'
) 

最佳答案

像这样尝试:

$result = json_decode($json);
foreach($result as $key => $value) {
    if($value) {
        mysqli_query($connect, "INSERT INTO `your_DATABASE_NAME`.`qrbuddy` (`order_id`, `kases_id`, `product_quantity`, `product_name`, `postage_adress`, `barcode`, `status`) VALUES ({$value->order_id}, {$value->kases_id},{$value->product_quantity},{$value->product_name},{$value->postage_adress},{$value->barcode}, 0)");

    }
    mysqli_close($connect);
}

最近我注意到我还需要指定数据库名称才能使查询 100% 正常工作。

编辑:忘记指定,确保您写的是您的数据库名称而不是 your_DATABASE_NAME。只要确保你不会在这上面浪费太多时间 :)

此外,根据我自己的经验,在大括号 {$variable} 中编写变量,可以使查询工作的百分比更高。 (而且更容易阅读 =)


关于php - Json 数组不将值存入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47141385/

相关文章:

javascript - Yii2 中的 Ajax + Controller 操作

php - Mysqli数据库PHP列表更新慢

mysql - 查询 1 个表中的记录,其中第 2 个表描述记录是否需要填写字段

json - jqGrid 和 JSON 数组

json - 错误 TS2339 : Property 'json' does not exist on type 'Object'

PHP MySql 电子商务左栏过滤结果

php - 我需要代码让 Wordpress 显示 5 列帖子

php - 从 MySQL 中选择行

mysql - 合并mysql中的值并排序

javascript - 如何更改 Google Analytics 中 "non-interaction"事件的默认值