如何从MySQL表生成数据列表?PHP初学者求助
创建list.php展示MySQL表数据
核心代码实现
以下是完整的list.php示例代码,包含数据库连接、数据查询和列表展示:
<?php // 1. 数据库连接配置(替换成你的实际信息) $host = 'localhost'; $dbname = '你的数据库名'; $username = '你的用户名'; $password = '你的密码'; try { // PDO连接数据库(推荐使用PDO,更安全且兼容) $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // 2. 查询aem_contacts表的所有数据 $stmt = $pdo->query("SELECT * FROM aem_contacts"); $contacts = $stmt->fetchAll(PDO::FETCH_ASSOC); } catch(PDOException $e) { die("数据库连接或查询失败: " . $e->getMessage()); } ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>联系人列表</title> <style> table { border-collapse: collapse; width: 80%; margin: 20px auto; } th, td { border: 1px solid #ddd; padding: 8px; text-align: left; } th { background-color: #f2f2f2; } </style> </head> <body> <h2 style="text-align:center;">联系人列表</h2> <?php if(empty($contacts)): ?> <p style="text-align:center;">暂无联系人数据</p> <?php else: ?> <table> <thead> <tr> <!-- 这里替换成你aem_contacts表的实际字段名,比如id, name, email, phone等 --> <th>ID</th> <th>姓名</th> <th>邮箱</th> <th>电话</th> </tr> </thead> <tbody> <?php foreach($contacts as $contact): ?> <tr> <td><?php echo htmlspecialchars($contact['id']); ?></td> <td><?php echo htmlspecialchars($contact['name']); ?></td> <td><?php echo htmlspecialchars($contact['email']); ?></td> <td><?php echo htmlspecialchars($contact['phone']); ?></td> </tr> <?php endforeach; ?> </tbody> </table> <?php endif; ?> </body> </html>
关键说明
- 数据库连接:使用PDO而非已废弃的mysql_*系列函数,更安全且支持预处理语句,能有效避免SQL注入风险
- 安全输出:用
htmlspecialchars()转义输出内容,防止XSS攻击 - 字段适配:需要将代码中
<th>标签和$contact['字段名']替换为你aem_contacts表的实际字段,比如表中有address字段,就添加对应的<th>地址</th>和<td><?php echo htmlspecialchars($contact['address']); ?></td> - 异常处理:捕获PDO异常,方便快速排查连接或查询错误
测试步骤
- 将代码中的数据库配置信息替换为你的实际数据库账号、密码和库名
- 确保
aem_contacts表存在且已有插入的数据 - 将list.php放在和form.php、confirm.php相同的服务器目录下,访问该文件即可看到数据列表
内容的提问来源于stack exchange,提问作者thon azore
相关产品推荐
相关产品推荐

