The Movie Databaseからデータを取得しようとしましたが、libraryを使用して、結果を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();
}
$mid
= 3でスクリプトが失敗しますが、他の2つの有効なエントリがデータベースに書き込まれていません。
引用の問題である可能性があります。自分自身を頭痛から守って、[prepared statements](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)と[bind_param](http://php.net/manual/ en/mysqli-stmt.bind-param.php)。また、実際にSQLをデータベースに挿入する場所はわかりません。 – aynber
あなたはデータベースにactaullyを挿入していません。あなたはそれを行う準備ができています。そのクエリは実行されていません。 – coderodour