Я пытаюсь запустить некоторый простой PHP-код, который извлекает форматированный файл JSON и вставляет его в базу данных.Nulls вставляется в базу данных MySQL по ошибке
Код возвращает, что новая запись была создана успешно. Однако, когда я смотрю на Databse каждое значение 0.
//read the json file contents
$jsondata = file_get_contents('http://tally.fit/empdetails.json');
//convert json object to php associative array
$data = json_decode($jsondata, true);
//get the employee details
$id = $data['empid'];
$name = $data['personal']['name'];
$gender = $data['personal']['gender'];
$age = $data['personal']['age'];
$streetaddress = $data['personal']['address']['streetaddress'];
$city = $data['personal']['address']['city'];
$state = $data['personal']['address']['state'];
$postalcode = $data['personal']['address']['postalcode'];
$designation = $data['profile']['designation'];
$department = $data['profile']['department'];
//insert into mysql table
$sql = "INSERT INTO tbl_emp(empid, empname, gender, age, streetaddress, city, state, postalcode, designation, department)
VALUES('$id', '$name', '$gender', '$age', '$streetaddress', '$city', '$state', '$postalcode', '$designation', '$department')";
JSON:
{
"emp": "SJ011MS",
"personal": {
"name": "Smith Jones",
"gender": "male",
"age": "28",
"address": {
"streetaddress": "7 24th Street",
"city": "new york",
"state": "NY",
"postalcode": "10038"
}
},
"profile": {
"designation": "Deputy General",
"department": "Finance"
}
}
Вы пытались «echo $ id;» видеть, что находится в переменных? Означает ли это значение null или фактический идентификатор? Это может помочь вам при отладке. – Kenji
Если ничего другого - у вашего JSON есть 'emp' для идентификатора сотрудника, и вы используете' empid' – andrewsi
. Вы уязвимы для [SQL-инъекций] (http://bobby-tables.com). –