2016-04-24 12 views
0

MySqlの配列をPHP経由でMySqlに追加する際に問題が発生しました。ここ は、配列の抜粋です:PHPを介してMySQLにJSONオブジェクトの配列を追加する方法

[{ "title": "Wilfred", "year": "2011–2014", "released": "23 Jun 2011", "runtime": "30 min", "genre": "Comedy", "director": "N/A", "actors": "Elijah Wood, Jason Gann, Fiona Gubelmann, Dorian Brown", "imdbRating": "7.9" }, 
{ "title": "otherMovie", "year": "2012", "released": "23 Jun 2011", "runtime": "30 min", "genre": "Comedy", "director": "N/A", "actors": "Elijah Wood, Jason Gann, Fiona Gubelmann, Dorian Brown", "imdbRating": "7.9" }] 

はそうそう、私はMySQLでのテーブルにすべてのことを追加したいです。 テーブルはすでに作成されていますが、カラムはそのままです。データを取得できません。

<?php 
$servername = "localhost"; 
$username = "me"; 
$password = "pw"; 


$con=mysqli_connect($servername, $username, $password, "movies"); 
// Check connection 
if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 


mysqli_close($con); 


$jsondata = file_get_contents('rdymovies.json'); 
$data = json_decode($jsondata); 

// remove the ,true so the data is not all converted to arrays 
// Now process the array of objects 

//title, year, released, runtime, genre, director, actors, imdbRating 
foreach ($data as $movdata) { 
    $title = $movdata->title; 
    $year =  $movdata->year; 
    $released = $movdata->released; 
    $runtime =  $movdata->runtime; 
    $genre = $movdata->genre; 
    $director =  $movdata->director; 
    $actors = $movdata->actors; 
    $imdbRating = $movdata->imdbRating; 
    $sql = "INSERT INTO movies 
      (title, year, released, runtime, genre, director, actors,  imdbRating) 
      VALUES 
      ('$title','$year','$released','$runtime', 
       '$genre','$director','$actors','$imdbRating')"; 
    $res = mysqli_query($sql,$con); 
echo $res; 
    if(!$res){ 
     $result = new stdClass(); 
     $result->status = false; 
     $result->msg = mysql_error(); 
     echo json_encode($result); 
     exit; 
    } 
} 

?> 
+0

mysqli_query($con, $sql)にこの文 '$ RES = mysqli_query($ sqlを、$詐欺)を変更 ;'; '間違っている、それは' $ resを= mysqli_query($詐欺、$ sqlを)する必要があります。マニュアルを読む:[http://php.net/manual/en/mysqli.query.php](http://php.net/manual/en/mysqli.query.php) –

+0

そしてこの位置を見るmysqli_close($ con); 'というコードでは、接続の状態を確認した後で接続を閉じています。 –

答えて

1

mysqli_query()は、パラメータ1がmysqliであると想定しています。最初のパラメーターとしてquery(String)を渡しています。 mysqli_query($sql,$con)

0

は上からmysqli_close($con)を削除します。 はここに私のPHPコードです。 変更mysqli_query($sql,$con)mysqli_query($con, $sql)

これでうまくいくはずです。

関連する問題