如何从mysql查询中回显结果行的各个列值?

时间:2017-08-22 05:32:21

标签: php mysql

以下代码完美无缺,并为我提供了“id”“firstname”和“lastname”。我想要的是使用循环来回显结果行中的所有字段值,而不必引用每个列名称,如

$row["id"]

下面是工作代码

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

 // Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
    echo "<br> id: ". $row["id"]. " - Name: ". $row["firstname"]. " " . 
$row["lastname"] . "<br>";
}
} else {
echo "0 results";
}

$conn->close();
?> 

请提出任何想法

3 个答案:

答案 0 :(得分:1)

这应该有用..

sub.recv(&moreMsg);

答案 1 :(得分:1)

只需在内部使用foreach循环,就像这样

foreach($row as $key=>$value){
 echo "<br> $key: ". $value. "<br>";
}

答案 2 :(得分:0)

如果我理解你想要做的是使用其值自动输出每个列的名称(与您获得的列数无关)。

所以这样做:

if ($result->num_rows > 0) {
    foreach($result->fetch_assoc() as $row) { // browse each records
        foreach($row as $col => $value) { // browse each columns on a record
            echo "<br>$col: $value<br>";
        }
    }
} 
else {
    echo "no result";
}