我想我有一个非常简单的问题。我有一个简单的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>
这是要走的路吗?或者我错过了什么?
谢谢!
答案 0 :(得分:2)
我自己找到了解决方案:诀窍是在while循环之后将指针再次移至第0行:
app.get('/player/:userID', (req, res) =>
let apiServer
fetch('https://api1.com/api/user/' + req.params.userID + '/')
.then(function(res) {
var contentType = res.headers.get("content-type");
if (contentType && contentType.includes("application/json")) {
apiServer = 'swgohgg';
return res.json();
} else {
apiServer = 'server2';
throw new Error("server 1 did not reply properly");
}
})
.catch(function(err) {
console.log(err);
// in case of an error do a different request
if (apiServer == 'server2') {
return fetch('https://api2.com/api/user/' + req.params.userID + '/')
.then(function(res) {
var contentType = res.headers.get("content-type");
if (contentType && contentType.includes("application/json")) {
return res.json();
}
})
} else {
throw new Error('invalid fallback server')
}
})
.then(json => res.send(json))
.catch(function(err) {
console.log(err);
});
});