PHP连接MySQL与分页实现教程
需积分: 9 22 浏览量
更新于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,它们提供了更强大且安全的数据库操作功能。
2010-03-20 上传
2010-12-09 上传
2011-10-07 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
cc13888
- 粉丝: 2
- 资源: 2
最新资源
- ExtJS 2.0 入门教程与开发指南
- 基于TMS320F2812的能量回馈调速系统设计
- SIP协议详解:RFC3261与即时消息RFC3428
- DM642与CMOS图像传感器接口设计与实现
- Windows Embedded CE6.0安装与开发环境搭建指南
- Eclipse插件开发入门与实践指南
- IEEE 802.16-2004标准详解:固定无线宽带WiMax技术
- AIX平台上的数据库性能优化实战
- ESXi 4.1全面配置教程:从网络到安全与实用工具详解
- VMware ESXi Installable与vCenter Server 4.1 安装步骤详解
- TI MSP430超低功耗单片机选型与应用指南
- DOS环境下的DEBUG调试工具详细指南
- VMware vCenter Converter 4.2 安装与管理实战指南
- HP QTP与QC结合构建业务组件自动化测试框架
- JsEclipse安装配置全攻略
- Daubechies小波构造及MATLAB实现