以下代码从查询中检索结果。通常,我要求SELECT ...我得到一个二维数组,但这次我需要从表中计算。
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()提供的参数无效"既然我的结果,一个计数,包含一行一列?
答案 0 :(得分:0)
我认为您使用的是mysql_magic($ _ GET ['query'])应该是mysql_query($ _ GET ['query'])。我在code中看不到$ _GET案例的引用。因为php错误导致$ results未定义?
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);
}