我在php中创建了一个表,但是当我尝试显示它时,我收到了一个错误。
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
echo "
<table style=\"width:100%\">
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Salary</th>
</tr>
<tr>
<td>$row[\"Fname\"]</td>//I got error here.
<td>$row[\"Lname\"]</td>
<td>$row[\"Salary\"]</td>
</tr>
</table>";
}
错误是语法错误。由于我是PHP新手,我找不到错误。 Eclipse只是告诉我有一个语法错误,它不会修复它。有人有想法吗?
答案 0 :(得分:1)
不要为数组访问转义字符串并将它们包装在{}
中
如果从命令行运行php -l path/to/file.php
,它将检查您的语法并报告任何错误。
if (mysqli_num_rows($result) > 0) {
// output data of each row
echo "
<table style=\"width:100%\">
<tr>
<th>Firstname</th> //I got error here.
<th>Lastname</th>•
<th>Salary</th>
</tr>";
while($row = mysqli_fetch_assoc($result)) {
echo "
<tr>
<td>{$row["Fname"]}</td>
<td>{$row["Lname"]}</td>•
<td>{$row["Salary"]}</td>
</tr>";
}
echo "
</table>";
}
答案 1 :(得分:1)
这是一个更合乎逻辑的问题,你只需要重复表格主体:
if (mysqli_num_rows($result) > 0) {
// output data of each row
echo "
<table style=\"width:100%\">
<tr>
<th>Firstname</th> //I got error here.
<th>Lastname</th>
<th>Salary</th>
</tr>";
while($row = mysqli_fetch_assoc($result)) {
echo "
<tr>
<td>" . $row["Fname"] . "</td>
<td>" . $row["Lname"] . "</td>
<td>" . $row["Salary"] . "</td>
</tr>";
}
echo "
</table>";
}
答案 2 :(得分:1)
如果你遇到错误,请尝试使用语法,例如:
echo "
<tr>
<td>".$row["Fname"]."</td>
<td>".$row["Lname"]."</td>
<td>".$row["Salary"]."</td>
</tr>";
甚至为每一行做回声。从错误陈述中学习会更容易。
答案 3 :(得分:1)
在混合使用php和html时,使用syntactic sugar通常是个好主意。试试这个:
<table style="width:100%">
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Salary</th>
</tr>
<?php while($row = mysqli_fetch_assoc($result)): ?>
<tr>
<td><?php echo $row["Fname"]; ?></td>
<td><?php echo $row["Lname"]; ?></td>
<td><?php echo $row["Salary"]; ?></td>
</tr>
<?php endwhile ?>
</table>
它倾向于使代码更易于阅读/理解。