我正在嘗試將從 yelp api 獲得的 json 資料插入到 mysql 資料庫中。它只在 json 資料中插入文本和第一次評論的評分。不插入個人資料網址或名稱以及我回來的其他評論。
$response = json_decode($data, true);
$con = mysqli_connect('localhost', 'root', '','reviews');
if($response){
$text = isset($response ['reviews'][0]['text']) ? $response ['reviews' ][0]['text'] : "";
$rating = isset($response ['reviews'][0]['rating']) ? $response ['reviews'][0]['rating'] : "";
$url = isset($response ['reviews'][0]['users'][1]['profile_url']) ? $response ['reviews'][0]['users'][1]['profile_url'] : "";
$name = isset($response ['reviews'][0]['users'][1]['name']) ? $response ['reviews'][0]['users'][1]['name'] : "";
foreach ($response as $value){
$query = "INSERT INTO yelp (Text, Rating, ProfileURL, Name)
VALUES('$text', '$rating', '$name', '$url')";
mysqli_query($con,$query);
}
}
echo "Data Inserted Successfully";
uj5u.com熱心網友回復:
您需要遍歷所有評論。我還將展示如何使用準備好的陳述句來防止 SQL 注入。
$stmt = $con->prepare("INSERT INTO yelp (Text, Rating, ProfileURL, Name) VALUES (?, ?, ?, ?)");
$stmt->bind_param("siss", $text, $rating, $profile_url, $name);
foreach ($response['reviews'] as $review) {
$text = $review['text'] ?? '';
$rating = $review['rating'] ?? 0;
$profile_url = $review['user']['profile_url'] ?? '';
$name = $review['user']['name'] ?? '';
$stmt->execute();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/524153.html
標籤:phpmysql
上一篇:每個id的第二高值
