2016-08-13 10 views
0

PHP/PDOを使用してJSONファイルをMySQLデータベースにインポートしようとしています。自動インクリメントIDフィールドがない場合は正しくインポートされますが、フィールドを追加すると、JSONファイルはまったくインポートされません。主キーIDフィールドの自動インクリメントがJSONインポートを許可しません。 PHP/PDOとMySQL

表....主キー、自動インクリメントとして設定

enter image description here

Idフィールド。

例JSONデータ...ここ

{ 
    "name": "Google", 
    "uri": "https://www.google.com", 
    "description": "The largest and most popular search engine in the world", 
}, 
{ 
    "name": "NFL", 
    "uri": "https://www.nfl.com", 
    "description": "The National Football League", 
}, 
{ 
    "name": "CNN", 
    "uri": "https://www.cnn.com", 
    "description": "Cable News Network", 
}, 

は、私がフィールドをインポートするために使用していますPHP/PDOコードです...

$jsondata = file_get_contents('http://www.somewebsite/?format=json'); 
$data = json_decode($jsondata, true); 

$stmt = $db->prepare("insert into bookmark values(?,?,?)"); 

foreach ($data as $row) { 
    $stmt->bindParam(1, $row['name']); 
    $stmt->bindParam(2, $row['uri']); 
    $stmt->bindParam(3, $row['description']); 
    $stmt->execute(); 
} 

答えて

1

私は、あなたが変更する必要があります信じる:

$stmt = $db->prepare("insert into bookmark values(?,?,?)"); 

~

$stmt = $db->prepare("insert (name,uri,description) bookmark values(?,?,?)"); 

または

$stmt = $db->prepare("insert bookmark values(null,?,?,?)"); 
関連する問題