我使用此代码使用PHP数组获取MySql结果:
$sql = 'SELECT * FROM ' . LOCATION . ' ORDER BY category ';
$r = $db->query ( $sql ) or error ('Critical Error', mysql_error () );
while ($ROW = $db->fetcharray($r))
{
if ($ROW[1] == '') //line 15
$ROW[1] = $ROW['subcategory'];
}
fetcharray函数:
function fetcharray ($query_id)
{
if(!$query_id)
{
$query_id = $this->query_res;
}
if($query_id)
{
$id = (int) $query_id;
$this->q_array[$id] = @mysql_fetch_array($query_id,MYSQL_ASSOC); // LINE 124
return $this->q_array[$id];
}
else
{
return false;
}
}
我看到了这个错误:
Notice: Undefined offset: 1 in C:\xampp\htdocs\script\state.php on line 15
我改变if ($ROW[1] == '') to if (isset($ROW[1]))
,但我再次看到错误。
NOTE: i remove **MYSQL_ASSOC** from fetcharray function and fix error. i think my problem with fetcharray function how to fix this?
我如何修复此错误?
答案 0 :(得分:2)
这不是你的问题的直接答案,但你为旧的和已弃用的函数实现了某种包装。
此外,您的编码风格也不一致。一旦你为变量使用小写字母,另一次使用大写字母。
而不是:
if ($ROW[1] == '') //line 15
$ROW[1] = $ROW['subcategory'];
你应该使用:
if (!isset($ROW[1])) //line 15
$ROW[1] = $ROW['subcategory'];
或者这个:
if (empty($ROW[1])) //line 15
$ROW[1] = $ROW['subcategory'];
答案 1 :(得分:0)
在您的代码中:
if ($ROW[1] == '') //line 15
$ROW[1] = $ROW['subcategory'];
您无需设置即可直接访问$ROW[1]
(以及评论中提到的$ROW[0]
)。这就是它失败的原因。如果数据库中列的名称是" 1"或" 0"毕竟,请尝试使用$ROW["1"] or $ROW["0"]