查询数据库表中的特定列到json

时间:2017-08-22 08:20:59

标签: php sql json

我正在尝试从数据库表中获取特定列,而不是选择整个表并将它们放到json格式中。不需要不相关的列。这就是我到目前为止所做的。

$sql = "SELECT (col1,col2,col3) FROM table1";
    $result = mysqli_query($connection, $sql) or die("Error in Selecting " . mysqli_error($connection));

    $emparray = array();
    while($row =mysqli_fetch_assoc($result))
    {
        $emparray[] = $row;
    }
    echo json_encode($emparray);

    mysqli_close($connection);

此代码返回错误:Operand should contain 1 column(s)

任何想法我做错了什么?

由于

2 个答案:

答案 0 :(得分:1)

错误与查询有关。您正在选择3列,但将它们放在括号()中会将它们作为单列投影。试试 -

SELECT col1,col2,col3 FROM table1

您可以参考this answer了解详情。

答案 1 :(得分:-1)

访问查询结果时必须指定列名。

$result = mysqli_query($connection, $sql) or die("Error in Selecting " . mysqli_error($connection));

$sql = "SELECT col1,col2,col3 FROM table1";

$emparray = array();
$index = 0;
while($row =mysqli_fetch_assoc($result))
{
    $emparray[$index][] = $row['col1'];
    $emparray[$index][] = $row['col2'];
    $emparray[$index][] = $row['col3'];

    $index++;
}
echo json_encode($emparray);

mysqli_close($connection);