我面对奇怪的情况,非常简单。
信息未从DB填充到HTML表格。数据库是MySQL,我使用PHP连接并获取信息。
连接回答为"成功!"所以我看不出这个问题的原因。
我的代码:
connector1.php:
<?php
$host = "localhost";
$user = "root";
$pass = "xxxxxxxxxxx";
$database = "PERFBASE";
$mysqli = new mysqli($host, $user, $pass, $database);
if($mysqli->connect_errno)
echo "Connection to DB Failed: (".$mysqli->connect_errno.") ".$mysqli->connect_error;
else echo "Success!";
-------------------------------------------------------------------------
index.php
<?php
include("connector1.php");
$consulta = sprintf("SELECT * FROM PERFTRIG");
$con = $mysqli -> query($consulta) or die($mysqli -> error);
$SYSNAME = "SYSNAME";
?>
<html>
<body>
<table style="width:100%">
<tr>
<th>System</th>
<th>Client</th>
<th>Date</th>
</tr>
<tr>
<?php while($dado = $con->fetch_array())?>
<td><?php echo $dado[$SYSNAME]; ?></td>
<td>Ozzy</td>
<td>17/09/22</td>
</tr>
</table>
</body>
</html>
这是一个直接在MYSQL中的查询:
MariaDB [PERFBASE]> describe PERFTRIG
-> ;
+--------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+----------------+
| SYSID | int(10) | NO | PRI | NULL | auto_increment |
| DATETIME | date | YES | | NULL | |
| SYSNAME | varchar(10) | YES | | NULL | |
| ACCOUNTL | varchar(10) | YES | | NULL | |
你对发生的事情有什么了解吗?
答案 0 :(得分:2)
替换此部分:
<?php while($dado = $con->fetch_array())?>
<td><?php echo $dado[$SYSNAME]; ?></td>
与此:
<?php while($dado = $con->fetch_array()) { ?> // loop start here
<td><?php echo $dado[$SYSNAME]; ?></td>
<?php } ?>
它是php的硬逻辑,你需要正确使用sintax。 而且我认为你不需要下一个(这是什么意思?):
$consulta = sprintf("SELECT * FROM PERFTRIG");
只需在代码中使用:
$consulta = "SELECT * FROM PERFTRIG";
答案 1 :(得分:1)
实际上你在使用while循环时出错了你错过了大括号
试试这种方式。
<tr>
<?php while($dado = $con->fetch_array()): ?> // dont forget colon
<td><?php echo $dado[$SYSNAME]; ?></td>
<td>Ozzy</td>
<td>17/09/22</td>
<?php endwhile; ?>
</tr>
答案 2 :(得分:0)
William Perron,ficuscr,RamaKrishna - 非常感谢你们!
根据您的澄清确定后的最终答案:
<body>
<table style="width:100%">
<tr>
<th>System</th>
<th>Client</th>
<th>Date</th>
</tr>
<?php while($dado = $conn->fetch_array()): ?>
<tr>
<td><?php echo $dado[$SYSNAME]; ?></td>
<td>Ozzy</td>
<td>17/09/22</td>
</tr>
<?php endwhile; ?>
</table>
</body>
现在工作得很好!