0

The Movie Databaseからデータを取得しようとしています。ライブラリを使用して、Xampp を使用してローカルでデータベースに結果を挿入します。

ここに私がこれまでに持っているものがありますが、それが汚れていることはわかっています(関数のグローバルなど)が、これをローカルで実行しています-有効なデータがある場合はDBにデータを書き込むか、そうでない場合は関数を再実行する必要があります。

require_once '../vendor/autoload.php';

$token  = new \Tmdb\ApiToken('My API Key - removed');
$client = new \Tmdb\Client($token);
$mid = 1;
$conn = new mysqli('localhost', 'root', '', 'test');
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

moviedetails();

function moviedetails() {

    global $token;
    global $client;
    global $mid;
    global $conn;

    $repository = new \Tmdb\Repository\MovieRepository($client);
    $movie = $client->getMoviesApi()->getMovie($mid);

    var_dump($movie);

        $votecount = $movie['vote_count'];
        $voteaverage = $movie['vote_average'];
        $image = $movie['poster_path'];
        $releasedate = $movie['release_date'];
        $id = $movie['id'];
        $title = $movie['title'];
        $description = $movie['overview'];

        $sql = "INSERT INTO movie (votes, vote_average, poster, release_date, dbid, title, description)
        VALUES ('$votecount', '$voteaverage', '$image', '$releasedate', '$id', '$title', '$description')";

        echo $mid;

        $mid++;
        moviedetails();

}   

= 3 の場合、スクリプトは失敗しますが$mid、他の 2 つの有効なエントリをデータベースに書き込んでいません。

4

2 に答える 2

1

実際にデータベースに挿入するのではなく、それを実行するためのクエリを用意しているだけで、そのクエリの実行はありません。

$conn->query($sql)の後に必要です$sql = "query"

于 2016-12-02T19:24:58.367 に答える
0

グローバル $mid . トップスクリプトにも必要です。

于 2016-12-02T19:22:10.913 に答える