编写一个在线留言本,实现用户的在线留言功能,留言信息存储到数据库,要求设计数据表内容及使用PHP编码完成
一. 数据表设计
- 分析数据表结构
留言板有哪些信息需要存储
留言信息:ID,留言标题,留言内容,留言时间,留言人
##二. 数据表创建语句
create table message(
`id` int UNSIGNED not null auto_increment PRIMARY KEY,
`title` VARCHAR(120) not null DEFAULT '',
`content` VARCHAR(255) not null DEFAULT '',
`created_at` INT not null DEFAULT '0',
`user_name` VARCHAR(32) not null DEFAULT '',
key message_user_name(user_name)
)ENGINE=INNODB DEFAULT CHARSET=utf8;
三. 选择PHP链接数据库的方式
- PDO
可扩展、支持预处理、面向对象 - MySQLi
只支持MySQL操作,支持预处理、面向对象和过程,效率较高 - MySQL
只支持MySQL数据库,没有预处理、面向过程
四. 编码能力
<?php
try{
$pdo = new PDO($dsn,$username,$password,$attr);
$sql = 'select id ,title,content from message where user_name=:user_name';
$stmt = $pdo->prepare($sql);
$stmt->execute([':user_name'=>$user_name]);
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
}catch(PDOException $e){
echo $e->getMessage();
}
解题方法
先分析应该存储哪些信息,设计好数据表,如果编码时才发现设计有问题,会浪费时间,然后根据设计好的数据表创建数据表,通常使用PDO来连接MySQL,最终完成编码。
真题二:
设计无限分类表
id title pid path
pid字段用于定义当前分类的父分类
path 主要用于排序,也可以用递归实现