gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 21:51:19 26 4
gpt4 key购买 nike

尝试将 $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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com