我正在尝试添加一个脚本,该脚本向我的MySQL数据库发出请求并在html表中显示数据。在发出请求时,表中的行数与mysql数据中的行数相对应,但是没有物理数据。
我要使用的代码是:
<div class="container" style="margin-top:2em;margin-bottom:33em;">
<table border="1" class="table table-striped" style="margin-top: 2em;">
<thead>
<tr>
<th>id</th>
<th>username</th>
<th>passcode</th>
</tr>
</thead>
<tbody>
<?php
// ini_set('display_errors', 1);
// ini_set('display_startup_errors', 1);
// error_reporting(E_ALL);
$servername="localhost";
$username="wvptszyl_sc";
$password="wvptszyl_sc";
//!@#$%^&*(
$db="wvptszyl_sc";
$conn=mysqli_connect($servername,$username,$password,$db);
//mysql_select_db($db);
if (!$conn) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno($conn) . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error($conn) . PHP_EOL;
exit;
}
@session_start();
$result = $conn->prepare("SELECT id, username, passcode FROM admin");
$result->execute();
for($i=0; $row = $result->fetch(); $i++){
?>
<tr>
<td><label><?php echo $row['id']; ?></label></td>
<td><label><?php echo $row['username']; ?></label></td>
<td><label><?php echo $row['passcode']; ?></label></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
目前,表中有2行,并且插入了2行,但是我希望的是要在行中显示的数据。
答案 0 :(得分:-1)
您误解了for循环。它用于重复特定操作,直到指定条件为假。您的情况是一项任务,所以有错误。
所以改变这个
for($ i = 0; $ row = $ result-> fetch(); $ i ++){
对此:
foreach ($result->fetch_all() as $row) {
$ result-> fetch_all()返回数据的关联数组。 使用foreach循环,您可以访问该数组中的每个元素,并可以使用$ row ['any-key-you-want']
进行访问