2012-08-28 38 views
-3

我有一個分頁腳本。當我運行,它會顯示以下錯誤:如何在mysql中分頁php

Warning: mysql_result() expects parameter 1 to be resource, boolean given in C:\wamp\www\folder\index.php on line 6 

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\wamp\www\folder\index.php on line 12 

這裏是我的腳本:

<?php 
include 'db.inc.php'; 
$per_page = 2; 

$pages_query = mysql_query("SELECT COUNT 'id' FROM 'names'"); 
$pages = ceil(mysql_result($pages_query,0) /$per_page); 

$page = (isset($_GET['page'])) ? (int)$_GET['page'] : 1; 
$start = ($page - 1) * $per_page; 

$query = mysql_query("SELECT 'name' FROM 'names' LIMIT $start, $per_page"); 
while ($query_row = mysql_fetch_assoc($query)) { 
echo '<p>', $query_row['name'],'</p>'; 
} 
if($pages >=1 && $page <= $pages){ 
for ($x=1; $x<=$pages; $x++){ 
echo ($x == $page) ? '<strong> <a href="?page='.$X.'">'.$x.'</a></strong> ' : '<a href="?page='.$X.'">'.$x.'</a> '; 
} 
} 
?> 

最後我找到了我的問題。它用於$ X。 正確的是:

echo ($number == $page) ? '<strong> <a href="?page='.$number.'">'.$number.'</a></strong> ' : '<a href="?page='.$number.'">'.$number.'</a> '; 
+8

你是否總是要求人們解決你的問題? – Kermit

+0

如何從字符串中選擇任何內容?使用重音符號(')而不是撇號(')。 –

+0

你不應該使用mysql_ *函數。您應該改用http://php.net/manual/en/book.pdo.php。 – CappY

回答

1

首先,你需要調試腳本,並使用mysql_error()。然後修復你的sql錯誤。

然後它會變得明顯,例如count 'id'應該count(id)

+3

您沒有仔細閱讀OP的腳本並解決問題。他可能會生氣。 – Kermit

+0

@njk是的,有時我應該點擊關閉按鈕... – Tchoupi

+0

我得知可能有語言障礙,但好像OP認爲猴子坐在電腦前爲人們回答問題。 – Kermit

0

錯誤mysql_* expects parameter 1 to be resource, boolean given通常是你的MySQL查詢包含了一些錯誤的指標。

一個顯而易見的語法錯誤是,在您的查詢中,應該使用嚴重重音而不是圍繞列和表名引用。 (重音符號如下:`。發現在大部分英文鍵盤的左上角)