私はjsonを入力として持っています
$page = file_get_contents('http://example.com/products.html');
$items = json_decode($page, true);
エコー$ページを入れた場合; 私はこのようにsmthを取得します
{
"productlist":[
{
"id":"1",
"cat":"milk",
"prod_name":"happy milk",
"img_url":"http://example.com/milk.jpg"},
{
"id":"2",
"cat":"bread",
"prod_name":"black bread",
"img_url":"http://example.com/bread.jpg"},
次に、MySQL DB に入れたい
foreach($items['productlist'] as $item) {
$id = $item['id'];
$cat = $item['cat'];
mysqli_query($link, "INSERT INTO table (id, cat) VALUES ($id, $cat)") or die(mysql_error());
}
この段階では何も得られません。コードを変更すると
foreach($items['productlist'] as $item) {
$id = $item['id'];
mysqli_query($link, "INSERT INTO table (id) VALUES ($id)") or die(mysql_error());
}
DB のテーブルがいっぱいになりました - 製品 ID を持つ 2 つの行があります。OK、テーブルに $cat = food を挿入したい
foreach($items['productlist'] as $item) {
$id = $item['id'];
$cat = 'food';
mysqli_query($link, "INSERT INTO table (id, cat) VALUES ($id, $cat)") or die(mysql_error());
}
それでもこれは機能しません。nullの結果が得られます。しかし、クエリをに変更すると
foreach($items['productlist'] as $item) {
$id = $item['id'];
mysqli_query($link, "INSERT INTO table (id, cat) VALUES ($id, 'food')") or die(mysql_error());
}
探している結果が得られます - テーブル内の行が id と cat で満たされています
id cat
1 food
2 food
変数を介して挿入クエリに文字列値を送信する方法を知っている人はいますか?