gpt4 book ai didi

php - 使用curl : 500 internal server error调用我的php脚本时无法将json数据添加到mysql数据库中

转载 作者:行者123 更新时间:2023-11-29 15:55:44 29 4
gpt4 key购买 nike

我的 ubuntu 18.04 服务器带有 apache2。我正在尝试使用curl POST 将json 文件中的数据插入到我的mysql 数据库中。 Curl 将调用 php 脚本 (my-parser.php) 并传递 json 文件。 php脚本将解析json,创建一个sql查询并将数据插入到db中。

现在 Curl 返回错误(如下)。任何帮助将不胜感激

<小时/>

我的 curl :

curl -vv --header 'Content-Type: application/json; charset=UTF-8' --data 
@file_with_json_data http://localhost/php-parser.php
<小时/>

curl 响应:

Trying 127.0.0.1
Connected to localhost port 80
POST /php-parser.php HTTP/1.1
HOST:localhost
User-Agent: curl/7.58.0
Accept: */*
Content-Type: application/json; charset=UTF-8
Content-Length: 210

*upload completely sent off: 210 of 210 bytes
*HTTP/1.0 assume close after body
HTTP/1.0 500 Internal Server Error
Server: Apache/2.4.29 (Ubuntu)
Content-Length:0
Connection: close
Content-Type: text/html; charset=UTF-8
<小时/>

我尝试在 stackoverflow 上寻找答案,但找不到解决方案。

我的MySQL数据库是My_DB,其中的表是My_Data_Table。该表有 4 列:

index (auto_increment)
mcc TEXT,
mcc TEXT,
lac TEXT
<小时/>

我的 file_with_json_data:

{
"event": "some_event:,
"data": {
"MCC":"111",
"MNC":"123",
"LAC":"345
},
"num1":60,
"string":"sometext",
"num2:"123"
}
<小时/>

我的 php-parser.php:

<?php

$json=$_POST;
$data=json_decode($json, true);

$hostname="localhost";
$username="user";
$password="password";
$db="My_DB";

$dbconnect=mysqli_connect($hostname, $username, $password, $db);

if ($dbconnect->connect_error) {
die("Database connection failed:" . $dbconnect->connect_error);
}

$mcc=$data["MCC"];
$mnc=$data["MNC"];
$lac=$data["LAC"];

$query='INSERT INTO My_Data_Table (mcc, mnc, lac)
VALUE ("$mcc", "$mnc", "$lac")';

if (!mysqli_query($dbconnect, $query)){
die('An error occurred.');
}else{
echo "Success!";
}

mysqli_close($dbconnect);

?>

我希望curl将调用php脚本,该脚本将json数据插入到mysql表的指定列中。 Curl 详细回复显示

服务器错误 500HTTP/1.0 假定正文后关闭

最佳答案

不确定这是否会修复您的 500 错误,但请尝试以下操作:

mySQL 格式为 INSERT INTO table (column) VALUES (value) 并且 mySQL 期望将值括在单引号中。尝试将 SQL 查询更改为以下内容:

$query="INSERT INTO My_Data_Table (mcc, mnc, lac)
VALUES ('{$mcc}', '{$mnc}', '{$lac}')";

我忽略了有关不使用准备好的语句的问题,我相信您会收到其他用户的大量警告。

关于php - 使用curl : 500 internal server error调用我的php脚本时无法将json数据添加到mysql数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56476015/

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