PHP连接MySQL与数据读取示例
需积分: 9 166 浏览量
更新于2024-07-26
收藏 88KB DOC 举报
“php常用代码,包括连接MySQL数据库和读取数据库并循环输出的实例。”
在PHP编程中,常会遇到与数据库交互的需求,本摘要提供的代码示例主要展示了如何使用PHP连接MySQL数据库以及如何从数据库中读取数据并进行循环输出。首先,我们来看连接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_connect()` 函数用于连接到本地的MySQL服务器("localhost"),并使用 "root" 用户名和密码进行身份验证。如果连接失败,`die()` 函数会输出错误信息并终止脚本。`mysql_select_db()` 函数用于选择要操作的数据库,在这个例子中是 "liuyanben"。`mysql_query("setnames 'gbk'");` 是设置字符集为GBK,以确保中文字符能正确处理。
接下来,是读取数据库并实现循环输出的代码:
```php
<?php
$sql = "select * from liuyan order by ly_id desc";
$conn = mysql_query($sql, $connec);
while ($rs = mysql_fetch_array($conn)) {
?>
<table width="476" border="1" cellspacing="0" cellpadding="0">
<tr>
<td width="135" height="30"><div align="center">留言主题</div></td>
<td width="204" height="30"><div align="center">留言时间</div></td>
<td width="129" height="30"><div align="center">留言人</div></td>
</tr>
<tr bgcolor="#CC9999">
<td height="30"><?=$rs["ly_title"]?>
<div align="center"></div></td>
<td height="30"><?=$rs["ly_time"]?>
<div align="center"></div></td>
<td height="30"><?=$rs["ly_author"]?>
<div align="center"></div></td>
</tr>
<tr>
<td height="30"><div align="center"><a href="huifu.php?id=<?=$rs["ly_id"]?>">回复留言</a></div></td>
<td height="30"><div align="center"><a href="viewhuifu.php?id=<?=$rs["ly_id"]?>">查看回复</a></div></td>
</tr>
</table>
<?php
}
?>
```
这段代码首先定义了一个SQL查询语句,用于从 "liuyan" 表中选取所有列,并按 "ly_id" 字段降序排列。`mysql_query()` 函数执行这个查询,返回结果集。接着,`while` 循环遍历结果集中的每一行,使用 `mysql_fetch_array()` 获取当前行的数据,并将其存储在 `$rs` 数组中。在循环内部,代码创建了一个HTML表格,显示了每条留言的主题、时间和作者,并提供了回复和查看回复的链接。
值得注意的是,这些代码使用了已经废弃的 `mysql_` 函数系列,如 `mysql_connect()` 和 `mysql_query()`。在新的PHP版本中,推荐使用 `mysqli_` 或 `PDO` 扩展来处理数据库操作,因为它们提供更好的性能和安全性。例如,可以使用 `mysqli_connect()` 来替换 `mysql_connect()`,使用 `mysqli_query()` 替换 `mysql_query()`,并且在处理结果集时,可以使用 `mysqli_fetch_assoc()`。
此外,为了提高代码可读性和可维护性,建议遵循一定的编码规范,例如使用更现代的模板引擎(如Twig)来分离业务逻辑和视图,以及使用预处理语句防止SQL注入等安全问题。对于字符集设置,推荐使用 `utf8mb4`,以支持更多Unicode字符。
2010-03-20 上传
2010-12-09 上传
2011-10-07 上传
2015-04-22 上传
2010-01-09 上传
2023-03-11 上传
2021-10-08 上传
darkda
- 粉丝: 0
- 资源: 2
最新资源
- kaggle-avito:Avito CTR竞赛的获奖解决方案
- HEIGE-PCloud.github.io:行星云存储库
- 简历模板(可任意修改) (736).zip
- Python库 | dragonfly_energy-1.7.10-py2.py3-none-any.whl
- AccessControl-5.7-cp311-cp311-macosx_11_0_arm64.whl.zip
- Simulink导航块:基于WGS-84的Simulink导航块-matlab开发
- littlehanbao:用JS编写的语法映射工具
- js实现仿QQ聊天窗口点击抖动效果源码.zip
- Flutter-Firebase-Todo:此应用已与Firebase云同步
- 进行异步功能集成测试时,越过空隙
- 254套scratch趣味小游戏源码合集.zip
- 简历模板(可任意修改) (688).zip
- Python库 | dragonfly_core-1.25.35-py2.py3-none-any.whl
- java代码-35郑富二
- AccessControl-6.1-cp311-cp311-macosx_11_0_arm64.whl.zip
- data-structures