【问题标题】:Function isn't writing to database?函数没有写入数据库?
【发布时间】: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 statementsbind_param。另外,我看不到您将 sql 实际插入数据库的位置。
  • 你实际上并没有插入数据库,你只是准备了一个查询,没有执行该查询。

标签: php themoviedb-api


【解决方案1】:

您实际上并没有插入数据库,您只是准备了一个查询来执行此操作,没有执行该查询。

$sql = "query" 之后需要$conn->query($sql)

【讨论】:

  • 干杯,好久没用PHP了
  • 很高兴我能提供帮助,继续前进并确保您已适应 php 的最新实践(因为旧的实践被发现不安全和/或正在迅速贬值),我也建议您正如 aynber 在上面的评论中建议的那样,学习并使用准备好的声明来满足您的所有需求。
  • 您好,感谢您的关注。我会为生产代码使用准备好的语句,但这是在使用 Xampp 进行示例测试的 VM 中运行的——我不太担心数据是否会发生问题,因为它是一个新数据库。但我同意,并感谢您的关注!
【解决方案2】:

全球 $mid 。也必须在顶级脚本中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-04
    • 1970-01-01
    相关资源
    最近更新 更多