PHP连接MySQL与分页实现教程

需积分: 9 3 下载量 31 浏览量 更新于2024-09-15 收藏 15KB TXT 举报
“PHP常用代码,包括连接MySQL数据库、读取数据库并循环输出、以及实现分页功能的示例。” 在PHP编程中,处理与数据库的交互是常见的任务,特别是使用MySQL作为后端存储时。以下将详细介绍标题和描述中提到的几个关键知识点。 1. 连接MYSQL数据库代码 PHP通过`mysql_connect`函数与MySQL服务器建立连接。在这个例子中,连接参数是"localhost"(本地主机)、"root"(用户名)和同样为"root"的密码。之后使用`mysql_select_db`函数选择要操作的数据库,这里是"liuyanben"。最后,`mysql_query("setnames 'gbk'");`设置字符集为GBK,确保数据正确编码。请注意,这些函数属于旧版的MySQL扩展,新的项目推荐使用`mysqli`或`PDO`扩展。 ```php <?php $connec = mysql_connect("localhost", "root", "root") or die("无法连接数据库".mysql_error()); mysql_select_db("liuyanben", $connec) or die("选择数据库出错:".mysql_error()); mysql_query("setnames 'gbk'"); ?> ``` 2. 读取数据库并实现循环输出 使用`mysql_query`执行SQL查询,这里是一个示例,从"liuyan"表中按ly_id降序选取所有记录。然后使用`mysql_fetch_array`循环遍历结果集,每次迭代都会获取一行数据并进行处理。在循环内部,可以展示这些数据。同样,这里的`mysql_`系列函数已经过时,建议使用更新的接口。 ```php <?php $sql = "select * from liuyan order by ly_id desc"; $conn = mysql_query($sql, $connec); while ($rs = mysql_fetch_array($conn)) { // 在此处处理并显示每行数据 echo "数据行: " . $rs['column_name'] . "<br>"; } ?> ``` 3. 如何实现分页 分页通常包含两部分:计算页面信息和展示分页链接。首先,定义一个`genpage`函数,接收SQL查询和每页条目数作为参数。函数内部计算总页数,当前页的前后页,以及限制SQL查询以获取当前页的数据。`showpage`函数则用于显示分页链接,可以自定义显示样式。 ```php // 计算分页 function genpage(&$sql, $page_size = 2) { global $prepage, $nextpage, $pages, $sums; // outparam $page = $_GET["page"]; $eachpage = $page_size; // 获取表行数 $pagesql = strstr($sql, "from"); $pagesql = "select count(*) as ids" . $pagesql; $conn = mysql_query($pagesql) or die(mysql_error()); if ($rs = mysql_fetch_array($conn)) $sums = $rs[0]; // 计算总页数 $pages = ceil(($sums - 0.5) / $eachpage) - 1; $pages = $pages >= 0 ? $pages : 0; $prepage = ($page > 0) ? $page - 1 : 0; $nextpage = ($page < $pages) ? $page + 1 : $pages; // 设置SQL查询的LIMIT $startpos = $page * $eachpage; $sql .= " limit $startpos, $eachpage"; } // 显示分页 function showpage() { global $page, $pages, $prepage, $nextpage, $queryString; // param from genpage function $shownum = 10 / 2; $startpage = ($page >= $shownum) ? $page - $shownum : 1; $endpage = ($page <= ($pages - $shownum)) ? $page + $shownum : $pages; // 显示分页链接 for ($i = $startpage; $i <= $endpage; $i++) { if ($i == $page) { echo "<span>$i</span>"; } else { echo "<a href='?page=$i'>$i</a>"; } } } ``` 以上代码提供了PHP与MySQL交互的基本操作,但请注意,为了遵循最佳实践和安全标准,应避免使用已废弃的`mysql_`函数,改用`mysqli`或`PDO`扩展,并使用预处理语句防止SQL注入。同时,考虑使用现代的框架或ORM(对象关系映射)工具,如Laravel、Symfony或Doctrine,它们提供了更强大且安全的数据库操作功能。