PHP如果其他错误
问题描述:
我想用数据库中的数据填充表使用mysqli和php。使用以下代码:PHP如果其他错误
<?php
if(mysqli_num_rows($search_query) > 0) {
do {
<tr>
<td> echo $rows['COL 1']; </td>
<td> echo $rows['COL 2']; </td>
<td> echo $rows['COL 3']; </td>
<td> echo $rows['COL 4']; </td>
<td> echo $rows['COL 5']; </td>
<td> echo $rows['COL 6']; </td>
<td> echo $rows['COL 7']; </td>
<td> echo $rows['COL 8']; </td>
<td> echo $rows['COL 9']; </td>
<td> echo $rows['COL 10']; </td>
<td> echo $rows['COL 11']; </td>
<td> echo $rows['COL 12']; </td>
<td> echo $rows['COL 13']; </td>
</tr>
} while ($rows=mysqli_fetch_assoc($search_query));
}
else {
echo "No results found.";
}
?>
我收到一个错误,网站上没有任何内容显示。我敢肯定,这与php标签有关,但我无法弄清楚如何正确使用它们。我也试过:
<?php
if(mysqli_num_rows($search_query) > 0) {
do { ?>
<tr>
<td><?php echo $rows['COL 1'];?> </td>
<td><?php echo $rows['COL 2'];?> </td>
<td><?php echo $rows['COL 3'];?> </td>
<td><?php echo $rows['COL 4'];?> </td>
<td><?php echo $rows['COL 5'];?> </td>
<td><?php echo $rows['COL 6'];?> </td>
<td><?php echo $rows['COL 7'];?> </td>
<td><?php echo $rows['COL 8'];?> </td>
<td><?php echo $rows['COL 9'];?> </td>
<td><?php echo $rows['COL 10'];?> </td>
<td><?php echo $rows['COL 11'];?> </td>
<td><?php echo $rows['COL 12'];?> </td>
<td><?php echo $rows['COL 13'];?> </td>
</tr>
} <?php while ($rows=mysqli_fetch_assoc($search_query));?>
</table>
}
<?php
else {
echo "No results found.";
}
?>
答
试着用一个普通的while循环。
这样做,while将首先执行do部分,所以$ rows将是未定义的。
<?php
if(mysqli_num_rows($search_query) > 0) { ?>
<table>
<?php while ($rows=mysqli_fetch_assoc($search_query)) { ?>
<tr>
<td><?php echo $rows['COL 1'];?> </td>
<td><?php echo $rows['COL 2'];?> </td>
<td><?php echo $rows['COL 3'];?> </td>
<td><?php echo $rows['COL 4'];?> </td>
<td><?php echo $rows['COL 5'];?> </td>
<td><?php echo $rows['COL 6'];?> </td>
<td><?php echo $rows['COL 7'];?> </td>
<td><?php echo $rows['COL 8'];?> </td>
<td><?php echo $rows['COL 9'];?> </td>
<td><?php echo $rows['COL 10'];?> </td>
<td><?php echo $rows['COL 11'];?> </td>
<td><?php echo $rows['COL 12'];?> </td>
<td><?php echo $rows['COL 13'];?> </td>
</tr>
<?php } ?>
</table>
<?php }
else {
echo "No results found.";
}
?>
在第二个示例中,您的PHP标签之外还有一个右括号。打开错误报告会给你提供一个信息错误信息。
error_reporting(E_ALL);
ini_set('display_errors', 'on');
答
<?php
$result=mysqli_fetch_assoc($search_query);
if(mysqli_num_rows($result) > 0) { ?>
<table>
<?php while ($rows=$result) { ?>
<tr>
<td><?php echo $rows['COL 1'];?> </td>
<td><?php echo $rows['COL 2'];?> </td>
<td><?php echo $rows['COL 3'];?> </td>
<td><?php echo $rows['COL 4'];?> </td>
<td><?php echo $rows['COL 5'];?> </td>
<td><?php echo $rows['COL 6'];?> </td>
<td><?php echo $rows['COL 7'];?> </td>
<td><?php echo $rows['COL 8'];?> </td>
<td><?php echo $rows['COL 9'];?> </td>
<td><?php echo $rows['COL 10'];?> </td>
<td><?php echo $rows['COL 11'];?> </td>
<td><?php echo $rows['COL 12'];?> </td>
<td><?php echo $rows['COL 13'];?> </td>
</tr>
<?php } ?>
</table>
<?php }
else {
echo "No results found.";
}
?>
什么是错误? – AdRock 2014-10-17 15:00:42
在第一次迭代时,未设置“$ rows”。您应该使用正常的'while'循环,条件是开始。 – jeroen 2014-10-17 15:00:59
您正在向PHP注入纯HTML。 – 2014-10-17 15:01:36