0

可能重复:
警告:mysql_fetch_array():提供的参数不是有效的 MySQL 结果

我有以下 mysql 查询,它产生了上述错误,我不知道为什么,任何帮助将不胜感激。

$tableName="livetrack";     
$targetpage = "visitors.php";   
$limit = "$pagination"; 

$query = "SELECT COUNT(*) as num FROM $tableName where member_id = '$site_id' and display = 'yes'";
$total_pages = mysql_fetch_array(mysql_query($query));
$total_pages = $total_pages[num];

$stages = 3;
$page = mysql_escape_string($_GET['page']);
if($page){
    $start = ($page - 1) * $limit; 
}else{
    $start = 0; 
    }   

// Get page data

$query1 = "SELECT * FROM $tableName  WHERE date >= ( NOW() - '$fdate' ) and ip ='$ip' and  member_id = '$site_id' and display = 'yes'  and category= '$categories' and type ='$vtype' order by id DESC LIMIT $start, $limit";
$result = mysql_query($query1);

// Initial page num setup
if ($page == 0){$page = 1;}
$prev = $page - 1;  
$next = $page + 1;                          
$lastpage = ceil($total_pages/$limit);      
$LastPagem1 = $lastpage - 1;                    


$paginate = '';
if($lastpage > 1)
{   

下面的代码是生成错误消息的地方。

while($row = mysql_fetch_array($result))
    {
4

1 回答 1

1

您应该打印出原始查询,然后在 mysql 中手动运行它(通过 mysql 工具或类似 phpMyAdmin 的工具)。

你有错误吗?(大概)

如果是,请修复查询。

如果没有,您应该在每次运行查询时以及在尝试访问结果之前检查 mysql 错误。

例如:

  1. $query = 'SELECT * FROM users;';
  2. $result = mysql_query($query);
  3. if(mysql_error() != '') { echo 'mysql 查询错误:#'.mysql_errno().' - '.mysql_error();
  4. 否则 { $data = mysql_fetch_array($result); }

第二种可能的可能性是您没有与数据库的有效连接,或者您连接到错误的数据库。

于 2012-04-10T21:18:17.530 回答