【发布时间】:2016-12-02 19:19:51
【问题描述】:
我正在尝试从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 时失败,但没有将其他两个有效条目写入我的数据库。
【问题讨论】:
-
可能是引用问题。省得自己头疼,改用prepared statements 和bind_param。另外,我看不到您将 sql 实际插入数据库的位置。
-
你实际上并没有插入数据库,你只是准备了一个查询,没有执行该查询。
标签: php themoviedb-api