Я пытаюсь получить некоторые данные от The Movie Database, используя library, чтобы вставлять результаты в базу данных локально с помощью Xampp.Функция не записывается в базу данных?
Вот что у меня есть, я знаю, что он грязный (глобальные функции в таких функциях и т. Д.), Но я выполняю это локально - мне просто нужно записать данные в БД, если есть какие-либо действительные данные, или перезапустить если нет.
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, но не написал две другие действительные записи в моей базе данных.
Это может быть проблема с цитированием. Сохраните головную боль и переключитесь на [подготовленные утверждения] (http://php.net/manual/en/mysqli.quickstart.prepared-statements.php) и [bind_param] (http://php.net/manual/ о/MySQLi-stmt.bind-param.php). Кроме того, я не вижу, где вы действительно вставляете sql в базу данных. – aynber
Вы не вставляете данные в базу данных, у вас просто есть запрос, готовый сделать это, выполнение этого запроса не выполняется. – coderodour