我的分页那里错了?mysql_fetch_array(): supplied argument is not a valid MySQL result resource i

haihaiff 2005-02-23 11:36:03
数据库名字密码没错啊

<?php
// 建立数据库连接
$link = mysql_connect("localhost", "root", "root")
or die("Could not connect: " . mysql_error());
//mysql_select_db($database,$link);
//$bb="you_database_name"
//mysql_select_db($bb,$link)
$LinkID = @mysql_connect("localhost","root","root");
if(!$LinkID)
exit("数据库连接错误");
if(!mysql_select_db("bb",$LinkID))
exit("无法连接到数据库");
// 获取当前页数
if( isset($_GET['page']) ){
$page = intval( $_GET['page'] );
}
else{
$page = 1;
}
// 每页数量
$PageSize = 10;
// 获取总数据量
$sql = "select count(*) as amount from table";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
$amount = $row['amount'];
// 记算总共有多少页
if( $amount ){
if( $amount < $page_size ){ $page_count = 1; } //如果总数据量小于$PageSize,那么只有一页
if( $amount % $page_size ){ //取总数据量除以每页数的余数
$page_count = (int)($amount / $page_size) + 1; //如果有余数,则页数等于总数据量除以每页数的结果取整再加一
}else{
$page_count = $amount / $page_size; //如果没有余数,则页数等于总数据量除以每页数的结果
}
}
else{
$page_count = 0;
}

// 翻页链接
$page_string = '';
if( $page == 1 ){
$page_string .= '第一页|上一页|';
}
else{
$page_string .= '<a href=?page=1>第一页</a>|<a href=?page='.($page-1).'>上一页</a>|';
}
if( ($page == $page_count) || ($page_count == 0) ){
$page_string .= '下一页|尾页';
}
else{
$page_string .= '<a href=?page='.($page+1).'>下一页</a>|<a href=?page='.$page_count.'>尾页</a>';
}
// 获取数据,以二维数组格式返回结果
if( $amount ){
$sql = "select * from gg order by id desc limit ". ($page-1)*$page_size .", $page_size";
$result = mysql_query($sql);

while ( $row = mysql_fetch_row($result) ){
$rowset[] = $row;
}
}else{
$rowset = array();

$result = mysql_query($sql,$link);
}
// 没有包含显示结果的代码,那不在讨论范围,只要用foreach就可以很简单的用得到的二维数组来显示结果
?>

...全文
176 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ice_berg16 2005-02-24
  • 打赏
  • 举报
回复
SQL语句有错误,检查一下!
i2346 2005-02-24
  • 打赏
  • 举报
回复
把$sql echo出来,然后直接挎贝到phpMyAdmin中执行一下就知道你的sql语句有没写错罗
xuzuning 2005-02-24
  • 打赏
  • 举报
回复
// 获取总数据量
$sql = "select count(*) as amount from table";

// 获取数据,以二维数组格式返回结果
$sql = "select * from gg order by id desc limit ". ($page-1)*$page_size .", $page_size";

怎么不是处理的同一张表?表名对吗?
itian 2005-02-24
  • 打赏
  • 举报
回复
楼上的意见我不同意...
用as用了几年了,难道是手误?
hahawen 2005-02-24
  • 打赏
  • 举报
回复
select count(*) amount from table 没有as的,as好像是mssql和access的语法
blueoxygen 2005-02-23
  • 打赏
  • 举报
回复
你试图用一个值为 0 的结果资源号。0 表示你的查询由于某原因失败了,你需要在提交查询之后和在使用返回结果资源号之前检查错误。正确的方法是用类似如下的代码: $result = mysql_query("SELECT * FROM tables_priv");
if (!$result) {
echo mysql_error();
exit;
}
或者 $result = mysql_query("SELECT * FROM tables_priv")
or die("Bad query: ".mysql_error());
phchenjie 2005-02-23
  • 打赏
  • 举报
回复
// 获取总数据量
$sql = "select count(*) as amount from table";
...
FROM哪个Table?

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧