特定的mysql行到php代码


Specific mysql row to php code

使用下面的代码,我必须从数据库中报告一个行表。

但是除了我需要的行之外,还显示包含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

您只从数据库中选择了一个字段,即team。所以在你的PHP代码中,如果你写$row[0]和你写$row['team']是一样的

$row[1] so为空。

如果你想打印所有球队的名字,你必须写这段代码:

...
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>";
}
?>

查看您的SQL查询:

"SELECT team FROM s1"

你只从表中选择了一个值,这个值叫做team。因此,该查询返回的每一行将只有一个值。该值在$row[0]中。因此,$row[1]中没有值。为了用某些东西填充$row[1], SELECT至少需要第二个值:

"SELECT team, someOtherValue FROM s1"

当然,如果表没有其他值,那么就没有其他要显示的了…

看起来像你试图在每个循环中显示两次相同的概念值。为什么?通常,循环的每次迭代都会向HTML表中添加一行,而不是两行。像这样:

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>
<?php } ?>