使用下面的代码,我必须向数据库中的行表报告。
但是除了我需要的行之外,还显示包含 php 代码中的部分(noName)。
我尝试只保留 echo 标签
echo $row[0];
但我收到错误
Notice: Undefined offset: 1 in test.php on line 16
MYSQL
ID | Team
------------------------------
1 test1
2 test2
3 test3
PHP
<?php
$connection = mysqli_connect("YourHost","user","password","dbName") or die('connection to DB failed');
$query = mysqli_query($connection,"SELECT team FROM s1");
while ($row = mysqli_fetch_array($query,MYSQLI_NUM)) {
?>
<table>
<tr>
<td><p> team name <?php if(isset($row[0])){
echo $row[0];
}else{
echo 'noName';
} ?></p></td>
</tr>
<tr>
<td><p> team name <?php if(isset($row[1])){
echo $row[1];
}else{
echo 'noName';
} ?></p></td>
</tr>
<?php } ?>
php页面输出:
test1
noName
test2
noName
最佳答案
您仅从数据库中选择 1 个“团队”字段。
因此,在 PHP 代码中,如果您编写 $row[0]
,则与您编写 $row['team']
是相同的。
$row[1]
所以是空的。
如果你想打印所有团队的名称,你必须编写以下代码:
...
echo "<table>";
while ($row = mysqli_fetch_array($query,MYSQLI_NUM)) {
?>
<tr>
<td><p> team name <?php echo $row[0]; ?></p></td>
</tr>
我会这样写你的代码:
<?php
$connection = mysqli_connect("YourHost","user","password","dbName") or die('connection to DB failed');
$query = mysqli_query($connection,"SELECT team FROM s1");
if($query) {
echo "<table>";
while ($row = mysqli_fetch_array($query,MYSQLI_NUM)) {
echo "<tr>";
echo "<td><p> team name " . $row['team'] . "</p></td>";
echo "</tr>";
}
echo "</table>";
}
?>
关于php - 具体mysql行到php代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23581882/