将 1 列中的所有行放入 1 varchar

Put all rows from 1 column in 1 varchar

我有 1 个 table(在 MySQL 中)有 1 行。 table 的值例如是:

5
24
67

我 select 此查询的值:

$oudeGetallen = $conn->query("SELECT getal from ingezettegetallen");

现在我想将 table 的值放入 PHP 的 1 个文本变量中。

所以$oudeGetallenString = 52467

我做不到。我试着把它放在一个数组中,然后使用 implode,但这没有用。你能帮帮我吗?

我假设您使用的是 MYSQLI 扩展!您可以通过多种方式做到这一点,但一个简单的方法是

$oudeGetallen = $conn->query("SELECT getal from ingezettegetallen");

$oudeGetallenString = '';
while ( $row = $oudeGetallen->fetch_object()) {
    $oudeGetallenString .= $row->getal;
}
echo $oudeGetallenString;

$oudeGetallen = $conn->query("SELECT getal from ingezettegetallen");
$arr = [];
while ( $row = $oudeGetallen->fetch_object()) {
    $arr[] = $row->getal;
}
$oudeGetallenString = implode('', $arr);

像这样连接数值很奇怪,但是如果您指定空字符串 '' 作为分隔符,则可以使用 GROUP_CONCAT() 聚合函数来完成此操作:

SELECT GROUP_CONCAT(getal SEPARATOR '') AS col
FROM ingezettegetallen;

或带有 ORDER BY 子句:

SELECT GROUP_CONCAT(getal ORDER BY getal SEPARATOR '') AS col
FROM ingezettegetallen;

参见demo