提供的参数不是有效的MySQL结果

时间:2010-04-21 16:28:54

标签: php

我写了一个函数:

function selectWithPaging($where){

 $pg = (int) (!isset($_GET["pg"]) ? 1 : $_GET["pg"]);
 $pg = ($pg == 0 ? 1 : $pg);
 $perpage = 10;//limit in each page
 $startpoint = ($pg * $perpage) - $perpage;
 $result = mysql_query("SELECT * FROM $where ORDER BY id ASC LIMIT $startpoint,$perpage");
 return $result;
               }

但插入此功能时:

function categories() { 

 selectWithPaging('category') 
 $text .='<h2 class="mainH">Categories</h2>';
 $text .= '<table><tr class="cn"><td>ID</td><td class="name">Category</td>  <td>Durum</td>'; 
 while ($row = mysql_fetch_array($result)) {
 $home    = $row['home']; 
 $publish = $row['published'];
 $ID = $row['id'];
 $src = '<img src="'.ADMIN_IMG.'homec.png">';
                      -------------
          }

出现此错误: 提供的参数不是有效的MySQL结果

我的第一个功能出了什么问题?

2 个答案:

答案 0 :(得分:1)

这可能是一个拼写错误,但是你的第一个函数会返回第二个函数中没有被任何变量捕获的结果。

变化:

selectWithPaging('category')  

为:

$result = selectWithPaging('category');  

并尝试一下。

答案 1 :(得分:0)

您的查询未运行。这可能是因为您没有将$dblink arg传递给mysql_query,或者因为您的SQL语法有错误。这应该告诉你发生了什么。

$dblink=mysql_connect('localhost', 'mysql_user', 'mysql_password');
try{
  $query="SELECT * FROM $where ORDER BY id ASC LIMIT $startpoint, $perpage";
  $result = mysql_query($query,$dblink) or throw new Exception(mysql_error($dblink));
  return $result; 
} catch(Exception $e){
    echo $e->getMessage();
}