PHP入门教程:常用代码与数据库操作

需积分: 9 1 下载量 57 浏览量 更新于2024-07-28 收藏 85KB PDF 举报
"这份资源是关于PHP的常用代码示例,特别适合初学者学习。它包含连接MySQL数据库、读取数据库并循环输出以及实现分页功能的相关代码片段。" 在PHP编程中,常常会涉及到与数据库的交互,如MySQL。以下是对给定代码段的详细解释: 1. 连接MySQL数据库: ```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'"); ?> ``` 这段代码首先尝试连接到本地的MySQL服务器,使用用户名"root"和密码"root"。如果连接失败,`die()`函数将输出错误信息并停止脚本执行。接着,它选择名为"liuyanben"的数据库。最后,设置字符集为GBK,确保数据的正确编码。 2. 读取数据库并循环输出: ```php <?php $sql = "select * from liuyan order by ly_id desc"; $conn = mysql_query($sql, $connec); while ($rs = mysql_fetch_array($conn)) { ?> 循环的内容 <?php } ?> ``` 这段代码用于查询"liuyan"表中的所有记录,并按照`ly_id`字段的降序排列。`mysql_query()`函数执行SQL查询,返回结果集。`mysql_fetch_array()`函数用于遍历结果集,每次循环都会获取一行记录,然后可以在这个循环内部处理这些数据。 3. 分页功能: 分页功能通常由两个部分组成:计算总页数和生成分页链接。 - 计算总页数: ```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; $startpos = $page * $eachpage; $sql .= " limit $startpos, $eachpage"; } ``` `genpage`函数接收一个SQL查询字符串和每页显示的记录数(默认为2),它首先计算总记录数,然后根据每页记录数计算总页数。同时,它还计算出上一页和下一页的页码。最后,它修改原始SQL查询,添加`LIMIT`子句以获取当前页的数据。 - 显示分页链接: ```php function showpage() { global $page, $pages, $prepage, $nextpage, $queryString; // param from genpagef" ... } ``` `showpage`函数负责在页面上显示分页链接。虽然这里没有提供具体的实现,但通常会生成上一页、下一页和页码列表的HTML链接,让用户能够导航到不同页面。 请注意,上述代码使用的是已经废弃的`mysql_`扩展,对于新的项目,应该使用`mysqli_`或`PDO`扩展来与MySQL交互,以获得更好的性能和安全性。同时,为了遵循最佳实践,应该考虑使用预编译语句、参数绑定和错误处理机制来防止SQL注入等安全问题。