【问题标题】:MySQL Query Returns 0 When Running Multirowed Response QueryMySQL 查询在运行多行响应查询时返回 0
【发布时间】:2017-07-17 08:13:42
【问题描述】:

当我在 PHP 中运行以下代码时

$connect = mysqli_connect("localhost", "root", "dbpass", "db");

function csvfromarray($array) {
    $result = $array[0]+","+$array[1];
    return $result;
}

$query = mysqli_query($connect, "SELECT * FROM dbtable");
$row = mysqli_fetch_assoc($query);
$data = array();
$i = 0;

while($row = mysqli_fetch_assoc($query)) {
        $data[$i] = $row['last'];
        $i++;
}
$csv = csvfromarray($data);
echo $csv;
mysqli_close();

当我应该返回“lname1,lname2”时,我最终得到了“0”的回显响应。

【问题讨论】:

  • + 是数学。 . 用于连接。例如$array[0] . "," . $array[1]; 或者你可以使用implode 如果所有的$array 都应该用逗号连接。
  • 谢谢,看来我最近一直在用 Java 编码。
  • 是的,您还应该查看用于构建 CSV 的 PHP 函数。如果您的数据中曾经有一个,,那么使用这种方法您最终会得到一个格式错误的 CSV。你也可以只使用[],你不需要$i,PHP 会自动增加它。

标签: php concatenation


【解决方案1】:

所有 chris85 的东西都是正确的...

整理一下:

$query=mysqli_query($connect,"SELECT `last` FROM dbtable");
$data=array();
while($row=mysqli_fetch_assoc($query)) {
    $data[]=$row['last'];    // push into array
}
echo implode(',',$data);   // echo comma-separated values
mysqli_close();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-18
    • 1970-01-01
    • 1970-01-01
    • 2019-05-05
    • 2017-12-01
    • 2019-02-25
    • 2014-02-15
    相关资源
    最近更新 更多