<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>分页</title> </head> <body> <?php //**1.传入页码**/ $page = $_GET['p']; //**2.根据页码取出数据:php->mysql处理 $host="localhost"; $username="root"; $password=""; $db="myapp"; //连接数据库 $conn = @mysql_connect($host,$username,$password); if(!$conn){ echo "数据库连接失败"; exit; } //选择数据库 mysql_select_db($db); //设置数据库编码 mysql_query("SET NAMES UTF8"); //编写sql语句SELECT * FROM 表明名 起始位置 显示条数 $sql = "SELECT * FROM user LIMIT '.($page-1)*10.',10"; //把sql语句传送数据中 $result = mysql_query($sql); //处理数据 while ($row = mysql_fetch_assoc($result)){ echo $row['id'].'-'.$row['name']; } //**3.显示数据+分页条 ?> </body> </html>
因为时间过去太久了,这个就留个后人查看。 我也碰到一模一样的问题,但是解决了。将$result = mysql_query($sql);替换为$result = mysql_query($sql) or die(mysql_error()); 就可以查出原因。我的反馈的是数据库没有被选择,就像上面说的assoc得不到数据。所以查找了链接的数据库,因为是调用的mysqli进行链接的。替换了以后就没有问题了。
<?php
header('content-type:text/html;charset=utf-8');
$mysqli=@new mysqli('localhost','root','','xitong');
if($mysqli->connect_errno){
die('数据库连接不成功,错误编号'.$mysqli->connect_errno.' 错误信息: '.$mysqli -> connect_error);
}
$mysqli->set_charset('utf8');
?>
替换为了现在的
<?php
require_once('config.php');
header('content-type:text/html;charset=utf-8');
if(!($con = mysql_connect('localhost','root',''))){
echo "失败原因:".mysql_error();
}
if(!(mysql_select_db('xitong'))){
echo mysql_error();
}
if(!(mysql_query('set names utf8'))){
echo mysql_error();
}
?>
是不是你的数据不够?
我也是这样的错误,楼主有没有解决呀
楼主,你有没有解决这个问题呀,我也遇到了同样的错误。。。
$pagea= ($page-1)*10;
$sql = "SELECT * FROM users LIMIT $pagea,10";