无法显示包含来自数据库

时间:2016-12-12 18:06:00

标签: php html sqlite

我是一名学生使用NetBeans使用HTML,PHP和SQLite创建非常基本的网页。到目前为止,一切都很好。我遇到的问题是图片没有显示在moviedetails.php页面上。对于每个表条目,其他所有内容(包括titlesratingsdescription都可正常工作。 (我正在从数据库表中检索行。)这是我的代码:

(这对我来说很新,所以如果这是一个简单的错误,抱歉浪费你的时间:/)

的index.php

<!DOCTYPE html>

<html>
   <head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <?php
    $pdo = new PDO('sqlite:movies.db');             //Import SQLite database "movies.db" to a Var
    $query = $pdo->query("SELECT * FROM movie");

    while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
        //For each id number in db, echo a hyperlink containing that ID's title and 
        echo '<a href="moviedetails.php?id=' . htmlentities($row['id']) . '">' . htmlentities($row['title']) . '</a>';
        echo '<br>';
    }
    ?>
</body>



moviedetails.php

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>

    <?php
    $pdo = new PDO('sqlite:movies.db');                                //Using movies.db
    $query = $pdo->prepare("SELECT * FROM movie WHERE id=:id");        //Prepare this statement
    $id = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT);   //GET INPUT from Variable 'id' and FILTER anything which isn't a number 
    $query->bindParam(':id', $id, PDO::PARAM_INT);                     //Bind :name 'id' to a $id variable
    $query->execute();                                                 //Execute the prepared statement
    $row = $query->fetch(PDO::FETCH_ASSOC);                            //Fetch next row of results


    //var_dump($row);
    //display title, description and rating
    echo '<h1>'.htmlentities($row['title']).'</h1>';                //Echo 'Title' from db into a heading
    echo '<a href="'.htmlentities($row['image']).'"></a>';          //Echo 'image from db into a link
    echo '<p>'.htmlentities($row['description']).'</p>';            //Echo 'description' from db to paragraph
    echo '<p>Rating: '. htmlentities($row['rating']).'</p>';         //Echo 'rating' from db to paragraph
    ?>


</body>

这是我在图片中的数据库,因为这是向您展示的最简单方法: http://i.cubeupload.com/TBI5Fv.png

这是一个应该显示链接的网页。但是,它仅包含其他表字段: http://i.cubeupload.com/1tcfsU.png

奇怪的是,它没有给我任何错误,所以我不知道我哪里出错了。

希望有人可以提供帮助:)

1 个答案:

答案 0 :(得分:0)

您的<a>标记为空,因此无法识别。

echo '<a href="'.htmlentities($row['image']).'"></a>';

您应该将一些内容显示为如下链接:

echo '<a href="'.htmlentities($row['image']).'">THIS IS LINK TO IMAGE</a>';

如果您想显示图片本身而不是链接,则应使用<img>标记,如下所示:

echo '<img src="'.htmlentities($row['image']).'"/>';