get COUNT(*) from mysql_magic


get COUNT(*) from mysql_magic

以下代码从查询中检索结果。通常,我要求SELECT…我得到一个二维数组,但这次我需要从一个表中得到count。

if(isset($_GET['query']))
{
    $results = mysql_magic($_GET['query']);
    $response = array();
    //ERROR : Invalid argument supplied for foreach()   
    foreach($results as &$row)
    {
        $rowArray = array();
        foreach($row as &$column)
        {
            $rowArray[] = $column;
        }
        $response[] = $rowArray;
    }
    $jsonData = json_encode($results);
}

是mysql_magic函数的一部分。在大多数情况下,它返回mysql_fetch_all($req_result)。在本例中,它返回一行。

else if (startsWith($req_sql, 'select count(*)'))
{
    $line = mysql_fetch_row($req_result);
    return $line[0];
}

为什么我得到一个错误"为foreach()提供了无效的参数",因为我的结果,一个计数,包含一行和一列?

我认为你正在使用mysql_magic($_GET['query'])应该是mysql_query($_GET['query'])。我在代码中没有看到$_GET情况的引用。所以$results是未定义的,由于php错误?

if(isset($_GET['query']))
{
    $results = mysql_query($_GET['query']);
    $response = array();
    //ERROR : Invalid argument supplied for foreach()   
    foreach($results as &$row)
    {
        $rowArray = array();
        foreach($row as &$column)
        {
            $rowArray[] = $column;
        }
        $response[] = $rowArray;
    }
    $jsonData = json_encode($results);
}