【发布时间】:2020-03-18 10:27:50
【问题描述】:
mysql 中引入了一种新的数据类型,即 JSON。
现在当我从标题中获取原始数据时:
$_data = json_decode(file_get_contents("php://input"),true);
$data的结果
Array
(
[lines] => Array
(
[0] => Array
(
[id] => 8
[name] => Panadol Extra
[qty] => 1
[price] => 11.00
[total] => 11.00
)
[1] => Array
(
[id] => 6
[name] => Panadol Simple
[qty] => 1
[price] => 5.00
[total] => 5.00
)
[2] => Array
(
[id] => 2
[name] => Panadol
[qty] => 1
[price] => 1.00
[total] => 1.00
)
[3] => Array
(
[id] => 1
[name] => Panadol Extra
[qty] => 1
[price] => 1.00
[total] => 1.00
)
)
[discount] => 0
[date] => 2019-11-22T16:31:21+05:00
[paid] => 18
[user_id] => 1
[serial] => 35
)
当我在 mysql 中存储数据时出现此错误
无效查询!无效 JSON 文本:“无效值。”在位置 0 中 “sales.Invoice”列的值。
这是我的查询:
require_once 'config/config.php';
$_json = json_decode(file_get_contents("php://input"),true);
echo "<pre>";
print_r($_json);
exit();
$query = "INSERT INTO `sales`
(`UserId`,`invoice`,`Discount`,`Paid`,`Serial`)
Values('','','','','');";
$result = $db->query($query);
if ($result)
echo "Data Inserted Successfully!";
else
echo "Invalid Query!".$db->error;
我需要将折扣、已付款、用户 ID、序列号和行(json 格式)存储到表中。帮助我将这些数据存储到销售中。我如何将lines 转换为 json 格式。我可以使用提取功能存储其他对象折扣支付序列,但无法将lines 数据转换为 json 格式
【问题讨论】:
-
不清楚你在问什么。除了让我们知道您正在使用 phpmyadmin 并查看 json 的字段类型之外,屏幕截图并没有什么用处。 $_data 数组很有用;但是,
php://input) 和错误之间发生了什么需要了解发生了什么问题。请至少编辑问题并显示尝试提交到Invoice表的代码。 -
你能远程帮我吗
-
编辑您的帖子。取下图像,将其替换为显示您的列名的图像。发布采用
$_data并创建插入查询的代码部分。 -
我已经更具体地更新了问题