저는 PHP를 처음 사용합니다. 나는 지금 몇 시간 동안이 작업에 어려움을 겪고 있습니다. 이전에는 json_encode를 사용하여 MYSQL에서 JSON 파일로 데이터를 가져 왔습니다. 이제 JSON 파일의 동일한 데이터를 새 MYSQL 데이터베이스에 추가하고 추가하려고합니다. MYSQL 데이터베이스에 전달하기 전에 배열을 문자열로 변환하는 데 문제가 있습니다. 데이터베이스가 작동하고 배열에서 $ values 대신 수동 값을 삽입하여 "플레이어"를 추가 할 수있었습니다. 내 코드는 다음과 같습니다.
<?php
//open connection to mysql db
$con = mysqli_connect("localhost","root","","scoreboard2") or die("Error " . mysqli_error($con));
$scorefile = file_get_contents('scores.json');
$Score = json_decode($scorefile, true);
echo '<pre>' . print_r($Score, true) . '</pre>';
foreach ($Score as $field => $value) {
// Use $field and $value here
print_r($field . '=>' . $value . '<br/>', true);
//mysqli_query($con, "INSERT INTO scores (name, score, time) VALUES ($value->name, $value->score, $value->time)");
}
//mysqli_close($con);
?>
JSON 파일은 다음과 같습니다.
[
{"id":"22",
"name":"Jack",
"score":"2142",
"time":"196:13",
"ts":"2016-02-23 15:36:23",
"date":"2016-02-23"},
{"id":"23",
"name":"Bob",
"score":"7026",
"time":"35:54",
"ts":"2016-02-23 15:40:33"}
]
등. 그리고 "오류"는 다음과 같습니다.
알림 : 13 행의 F : \ XAMPP \ htdocs \ JSON_MySQL \ decode.php의 배열에서 문자열로 변환
문제는 json_decode()
as의 매개 변수 2를 사용하여 .json 파일의 데이터를 배열로 변환한다는 것 true
입니다.
이것은 객체를 배열로 변환하므로이 줄에서 사용하는 구문이 잘못되었습니다.
mysqli_query($con, "INSERT INTO scores
(name, score, time)
VALUES ($value->name, $value->score, $value->time)");
객체 표기법을 사용하고 있기 때문입니다.
그래서이 줄을
$Score = json_decode($scorefile, true);
에
$Score = json_decode($scorefile);
그래서
?php
$con = mysqli_connect("localhost","root","","scoreboard2") or die("Error " . mysqli_error($con));
$scorefile = file_get_contents('scores.json');
$Score = json_decode($scorefile);
foreach ($Score as $object) {
mysqli_query($con, "INSERT INTO scores
(name, score, time)
VALUES ('{$object->name}', '{$object->score}', '{$object->time}')");
}
mysqli_close($con);
?>
또한 작은 따옴표로 값을 따옴표로 묶었 고 {}
큰 따옴표로 묶인 리터럴 내에서 개체 또는 배열 표기법을 사용할 때 필요한 개체 속성을 래핑했습니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다