如何从MySQL数据库中检索文本和图像以显示在网页上

时间:2019-03-16 04:40:42

标签: php html mysql

我正在设计一个网站,并且有一个新闻区域,可以由管理员进行编辑。有一个标题和条目字段,条目存储在MySQL数据库中。我也在尝试添加允许管理员添加图像(甚至可能是视频)的选项。我可以将图像正确地存储到数据库中(我相信),但是当尝试检索它以显示在我的网页上时,它显示为一堆随机数字,字母和问号符号。有人可以帮我弄清楚我在做什么错吗?

这是我的表单,以及将数据插入数据库的代码:

        $title = trim(strip_tags($_POST['title']));
        $entry = trim(strip_tags($_POST['entry']));
        $image = ($_POST['image']);
        $imgContent = addslashes(file_get_contents($image));

    $problem = TRUE;
    if ($problem) {
        // Define the query:
        $query = "INSERT INTO entries (entry_id, title, entry, date_entered, image) VALUES (0, '$title', '$entry', NOW(),'$imgContent')";
        // Execute the query
        if(@mysqli_query($dbc, $query) && ((!empty($_POST['entry'])) || (!empty($_POST['title'])) )) {
            print '<p>The blog entry has been added!</p>';
        }else{  
            print '<p style="color: red;">Could not add the entry. Please fill in one of the fields.</p>';
        }   
    } 
    mysqli_close($dbc);

} // End of form submission IF

print '<form action="add_entry.php" method="post">
    <p>Entry Title: <input type="text" name="title" size="40" maxsize="100" /></p>
    <p>Entry Text: <textarea name="entry" cols="40" rows="5"></textarea></p>
    <p><input type="file" name="image" /></p>
    <input type="submit" name="submit" value="Post This Entry!" />
    <input type="hidden" name="submitted" value="true" />
</form>';

以下是用于查看新闻页面上的数据的代码:

// Define the query:
$query = 'SELECT * FROM entries ORDER BY date_entered DESC';

if ($r = mysqli_query($dbc, $query)) { // Run the query.

    // Retrieve and print every record:
    while ($row = mysqli_fetch_array($r)) {
        print "{$row['image']}
        <dl><dt><h3><strong>{$row['title']}</strong></h3></dt>
        <dd>{$row['entry']}<br /><br />\n</dd></dl>";
}

更新:我可以得到它返回文件路径,但是它没有斜杠。有没有简单的方法添加这些斜杠,然后我可以将其返回到图像标签中?

1 个答案:

答案 0 :(得分:0)

$image = ($_FILES['image']);

<form action="add_entry.php" method="post" enctype= multipart/form-data>

从数据库中检索图像路径并将其放入img src=""标记

如果您使用file_get_contents($image),则将图像转换为blob()

像这样更正您的代码。