php从mysql中按列获取所有值到jsonencode


php get from mysql all values by column to json_encode

我必须将指定的mysql表列的所有值放入json_encode

$fromdate       = $_GET['fromdate'];
$getrezhiredh = safe_query("
    SELECT rezhour FROM rezhiredhours 
    WHERE rezdate = '".$fromdate."' ORDER BY rezhour
");
$rows = array();
while($r = mysql_fetch_assoc($getrezhiredh)) {
    $rows[] = $r;
}
print json_encode($rows);

对于上面的代码,我有一个问题。只有当表中有一行包含选定的数据时,此代码才会返回结果。在这种情况下,json_encode()的结果是

〔{"rezhour":"1"}〕

但是,当表中有多行包含选定的数据时,结果除了之外什么都不返回

[]

如何将从表中选择的所有值放入json_encode()?


编辑:

我只是想知道,为什么当我们在表中有更多的行和选定的数据时,结果并没有给出下面的示例

[{"rezhour":{[0]=>"1",[1]=>"4"}]

结果我们有了"[]"


提前谢谢。

尝试更改

mysql_fetch_assoc($getrezhiredh)

mysql_fetch_object($getrezhiredh)

mysql_fetch_assoc的结果与您想象的不同。每一行或多或少都是这样的:

array(1)
    "rezhour" => "1"

所以你访问数据是这样的:

while($r = mysql_fetch_assoc($getrezhiredh)) {
    $rows[] = $r["rezhour"];
}