以下代码从查询中检索结果。通常,我要求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);
}