2011-02-01 104 views
0

可能重复:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in select
Warning: mysql_fetch_* expects parameter 1 to be resource, boolean given errorMySQL查询警告

$query = mysql_query("SELECT MAX(id) from test"); 
$result = mysql_query($q); 
$data = mysql_fetch_array($result); 
$start = $data[0]; 
$end = $start -15; 
$query = mysql_query("SELECT * from test 
     WHERE id = BETWEEN '".$start."' AND '".$end."' ORDER BY id DESC"); 

谁能告诉我为什么我收到这个错误?

警告:mysql_fetch_array()预计参数1是资源,鉴于布尔

通常是警告说,提供的参数不是一种资源。正确?

+2

您的查询中可能有错误。这导致`$ result`为`false`。使用`echo mysql_error()`输出它。 – 2011-02-01 23:21:11

+2

`$ q`不在您发布的示例中 - 您的查询都在`$ query`变量中。 – 2011-02-01 23:22:26

回答

1

我认为,问题是,你说的

"WHERE id = BETWEEN '".$start."' AND '".$end."'" 

我不认为应该有BETWEEN operator之前=。这将是一个语法错误,所以你不会得到结果集。

+0

你认为是正确的+1 – Endophage 2011-02-02 00:27:20

1

试试这个

$query = mysql_query("SELECT MAX(id) from test"); 
$result = mysql_query($query); 
$data = mysql_fetch_array($result); 
$start = $data[0]; 
$end = $start -15; 
$query = mysql_query("SELECT * from test 
    WHERE id BETWEEN '".$start."' AND '".$end."' ORDER BY id DESC"); 
1
$query = mysql_query("SELECT MAX(id) from test"); 
$result = mysql_query($q); //you don't have variable $q in this code, you mean $query 
$data = mysql_fetch_array($result); //script tell's that $result is false 
$start = $data[0]; //don't have eather 
$end = $start -15; 
$query = mysql_query("SELECT * from test 
    WHERE id = BETWEEN '".$start."' AND '".$end."' ORDER BY id DESC"); 
    //and you must write id BETWEEN, not id = BETWEEN 
0

好了,所以我得到了它的工作。代码如下...

$q = mysql_query("SELECT MAX(id) FROM test"); 
    $data = mysql_fetch_array($q); 
    $start = $data[0]; 

    //only shows 15 articles at a time 
    if($start>16) 
    { 
     $end = $start -15; 
    } 

    else 
    { 
     //Sets the minimum id to 1 
     $start = 1; 
    } 

    $query = mysql_query("SELECT * from test WHERE id BETWEEN '".$end."' AND '".$start."' ORDER BY id DESC"); 

对于一个$查询需要$ q,并且我的$ start和$ end需要切换。感谢您为所有人提供帮助!