PHP从数据库获取数据并将数据放入字符串中

时间:2018-08-07 08:12:57

标签: php sql

我还是PHP新手。我已经尝试了一些方法,但是我无法使其正常工作。

问题:我希望将users表中的所有数据都存储在字符串中,并以逗号分隔。然后,当ID2成为净新行的;时,依此类推。如果有人可以帮助我。

$server = "localhost";
$user_name = "root";
$password = "";
$database = "users";

$conn = new mysqli($server, $user_name, $password, $database);
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT * FROM Users;";
$result = $conn ->query($sql);

while($row = mysqli_fetch_array( $result )) {
    $rows = implode (";",$result);
    $array = $rows;

    echo $array;
}

问题2:但是,如果我希望将DB数据的第一行分隔开,然后以;结尾。我该怎么办?

输出:该代码的输出为: Warning: implode(): Invalid arguments passed

2 个答案:

答案 0 :(得分:2)

在调用ìmplode时,您只是使用了错误的变量。

您已将所有列作为数组分配给$row-但您正试图内爆$result

将该行更新为此:

$rows = implode(";", $row);

答案 1 :(得分:1)

比方说,您的用户表具有2个字段名字和姓氏。从您的问题中我了解到的是,您希望输出类似于

$array = ['steve,jobs;', 'mark,zukerberg;'];

要实现此目的,您可以在字符串的末尾附加';'

while($row = mysqli_fetch_array( $result )) {
     $rows = implode(',',$row) . ';'; //you have named this variable $rows but it is going to have data of a single row
     $array = $rows; //you could directly var_dump($rows) instead of assigning it to a new variable
     echo $array; //you could rather use var_dump($array) for this
}