value字段没有接收php变量

时间:2018-05-14 12:20:22

标签: php

<?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”]存储在变量中,然后在值标记中回显它。如果是,那怎么样?

1 个答案:

答案 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
}