<?php
$servername = "localhost";
$username = "root";
$password = '';
$dbname = "db_code";
$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "SELECT Otp FROM otptable";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "Otp: " . $row["Otp"] ."<br>";
x = " . $row["Otp"] .";
}
}
?>
<body>
<div id="floating-panel">
<input id="latlng" type="text" value="<?php echo $row["otp"]?>">
</body>
数据不会进入值字段,而是在上面的echo中工作。
如何插入值?
我可以将$ row [“otp”]存储在变量中,然后在值标记中回显它。如果是,那怎么样?
答案 0 :(得分:0)
因为你试图在外面循环使用它,所以$row
不包含任何有意义的东西。 (根据定义,$row
必须是false
,否则循环将永远不会结束。)
您可以将值存储在循环后使用的变量中,例如:
$otp = "";
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$otp = $row["Otp"];
}
}
<input id="latlng" type="text" value="<?php echo $otp; ?>">
当然,请注意这将始终显示循环中的 last 值。 (循环本身在那一点上是不必要的,你可以缩小查询范围,只返回你想要的最后一行。)同样,这是因为这发生在外面循环,因此只发生一次,在循环之后。
相反,如果您想在页面上的多个元素中显示多个值,您更可能希望将这些元素放入循环。例如:
while($row = $result->fetch_assoc()) {
?>
<input id="latlng" type="text" value="<?php echo $row["Otp"]; ?>">
<?php
}