html 中的多个 mysql 回声

multiple mysql echos in html

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

所以我写了这个小测试页。我的问题是,第一个 echo "Picture" 工作正常,但第二个 "Name" 不会输出任何内容。它只在第一次工作。如果我添加这个:

$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()){

在第二次回显之前 "Name" 一切正常。

<?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>

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

谢谢!

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

mysqli_data_seek($result, 0);

Docs