首页 > 解决方案 > html中的多个mysql回显

问题描述

我想我有一个非常简单的问题。我有一个简单的 HTML 页面,我想用 mysql 数据库中的单词填充它。

因此我写了这个小测试页。我的问题是,第一个回显“图片”工作正常,但第二个“名称”不会输出任何内容。它只在第一次工作。如果我添加这个:

$sql = <<<SQL
    SELECT *
    FROM `Database1`
    WHERE `id` = 1 
SQL;

if(!$result = $db->query($sql)){
    die('There was an error running the query [' . $db->error . ']');
}
while($row = $result->fetch_assoc()){

在第二个回声“名称”之前一切正常。

<?php
$db = new mysqli('', '', '', '');

if($db->connect_errno > 0){
    die('Unable to connect to database [' . $db->connect_error . ']');
}

$sql = <<<SQL
    SELECT *
    FROM `Database1`
    WHERE `id` = 1 
SQL;

if(!$result = $db->query($sql)){
    die('There was an error running the query [' . $db->error . ']');
}
?>

<html>

<img src="<?php
while($row = $result->fetch_assoc()){
    echo $row['Picture'];}
?>" height="270">

some more html...

<?php
    echo $row['Name'] . '<br />';
?>                          

even more html...

<?php
    mysqli_close ($con);
?>  

</html>

这是要走的路吗?还是我错过了什么?

谢谢!

标签: phpecho

解决方案


自己找到了解决方案:诀窍是在 while 循环之后再次将指针移动到第 0 行:

mysqli_data_seek($result, 0);

文档


推荐阅读