从数组转换为字符串,内爆不起作用

时间:2015-01-20 13:15:59

标签: php arrays string variables implode

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

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

$sql = "SELECT id , First_Name, Last_Name FROM member WHERE username='tracy'";
$result = $conn->query($sql);

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



$conn->close();
?>

我有这个代码,以显示我的数据库中的成员的一些细节,但我想把它变成一个字符串和一个变量,我试图使用php implode函数,但我收到一个错误说,一些其他变量是意外的任何提示或我做的任何错误?

4 个答案:

答案 0 :(得分:4)

  

您使用的是implode()

`<?php
      $id = $row["id"];
      $first_name = $row["First_Name"];
      $arr=array ($id,$first_name);
      echo implode(" ",$arr);
    ?>`

答案 1 :(得分:0)

在while循环中,您应首先在一个数组中连接所有列,然后在一个字符串中折叠如下:

while($row = $result->fetch_assoc()) 
    {
        // temp variables
        $id = $row["id"];
        $first_name = $row["First_Name"];
        $last_name = $row["Last_Name"];

        $array = array($id, $first_name, $last_name); // creating an array

        $result = implode(" - ", $array); // Collapsing data using dash

        printf($result); // displaying data collapsed
    }

来自official php implode doc

答案 2 :(得分:0)

我想将结果放在一个字符串中,用这个替换echo: $results .= "id: " . $row["id"]. " - Name: " . $row["First_Name"]. " " . $row["Last_Name"]. "<br>";

现在,永远是$ results

答案 3 :(得分:0)

这是您问题的完美解决方案..它会起作用。我使用的是mysql扩展而不是mysqli ..

enter image description here