博客列表 >程序功能设计考点

程序功能设计考点

Maple201的博客
Maple201的博客原创
2018年03月29日 18:18:35677浏览

    编写一个在线留言本,实现用户的在线留言功能,留言信息存储到数据库,要求设计数据表内容以及使用php编码完成。

  1. 数据表设计

    分析数据表结构

    留言信息:ID,留言标题,留言内容,留言时间,留言人

2.创建表语句

   留言本表message:id,title,content,created_at,user_name

3.选择php链接数据库方式

pdo:可扩展性更好,支持预处理,面向对象(推荐)

mysqli:只支持mysql操作,支持预处理,面向对象和过程,效率更高

mysql:只支持mysql数据库,没有预处理,面向过程

4.编码能力

PDO的基本操作

<?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->excute([':user_name' =>$user_name]);

$result = $stmt->fetchAll(PDO::FETCH_ASSOC);

}catch(PDOException $e){

    echo $e->getMessage();

}


分析应该存储哪些信息,设计好数据表,然后创建数据表,PDO来连接mysql,预处理防注入,可扩展。

<? php

$title = $_POST['title'];

$content = $_POST['content'];

$user_name = $_POST['username'];

if(empty($title) || empty($content) || empty(user_name)){

exit('标题或者内容或者用户名不能为空');

}

try{

$dsn='mysql:dbname=test;host=localhost';

$username = 'test';

$password = 'test';

$attr = [

PDO::ATTR_ERRMODE =>PDO::ERROR_EXCEPTION

];

$pdo = new PDO($dsn,$username,$password,$attr);

$sql= 'insert into message(title,content,create_at,user_name)  values(:title,:content,:created_at,:user_name)';

$stmt = $pdo->prepare($sql);

$data=[

':title' => $title,

':content' => $content,'

':created_at' => time(),

':user_name'=>$username

];

$stmt->excute($data);

$rows = $stmt->rowCount();

if($rows){

        exit('添加成功');

}else{

        exit('添加失败);

}

}catch{

//异常

echo $e->getMessage();

}

——————————————————————————————————————

设计一个无限分类表

id             title                pid                path

1              服装                  0                    0-1

2              上衣                  1                    0-1-2

3              长袖                  2                    0-1-2-3

pid:上衣属于服装,长袖属于上衣

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议