老友记之PHP7留言板开发(步骤二)

本步骤纲目:
1、超全局变量$_GET $_POST
2、MYSQL数据库设计
3、mysqli相关数据库操作,连接及增删改查(select insert delete update)操作


下面进入正题:

  • 1、超全局变量$_GET $_POST
    概念性的东西这里不阐述,正如字面上的意思一样,get的意思是用户是从提交方式为get的form表单提交过来的(form中属性是method="get"),如果是post就是提交方式为post,唯一的区别是post比get安全,而且提交的内容更多。留言板提交方式建议一定是post
// 获取姓名
$name = $_GET['name'];
$name = $_POST['name'];

// 获取联系方式
$contact= $_GET['contact'];
$contact= $_POST['contact'];

// 获取留言内容,这里如果提交的内容比较多,超过浏览器url长度限制会报错,所以还是建议用post方式
$content= $_GET['content'];
$content= $_POST['content'];
  • 2、MYSQL数据库设计
--
-- 表的结构 `feedback`
--

CREATE TABLE `feedback` (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL COMMENT '姓名',
  `contact` varchar(100) NOT NULL COMMENT '联系方式',
  `content` text NOT NULL COMMENT '留言内容',
  `addtime` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '记录时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='留言板数据表';

查找记录操作:

// localhost数据库地址,本地数据库一般都是这个或者127.0.0.1;php_course是数据表,即用户提交留言信息保存的数据表
$mysqli = mysqli_connect('localhost', '数据库账号', '数据库密码', 'php_course');
if(mysqli_connect_errno()){
    echo '连接数据库失败:'.mysqli_connect_error();
    exit;
}
mysqli_query($mysqli, "SET NAMES UTF8"); // 因为文件编码是utf8,所以数据记录集也需要设置utf8编码,否否则查询出来的结果会乱码
$sql = "SELECT * FROM feedback"; // 查询sql语句
$result = mysqli_query($mysqli, $sql); // 执行语句
$rows_num = mysqli_affected_rows($mysqli); // 返回记录数,只是一个统计,可以不用
echo $rows_num;
// 开始遍历记录集,循环获取所有feedback表中的所有记录并赋值到$all_row
$all_row = array();
while($rows = mysqli_fetch_array($result)){
    print_r($rows);
    $all_row[] = $rows;
}
// $all_row就是feedback的所有结果集
print_r($all_row);

记录入库操作:

$mysqli = mysqli_connect('localhost', 'root', '', 'php_course');
if(mysqli_connect_errno()){
    echo '连接数据库失败:'.mysqli_connect_error();
    exit;
}
mysqli_query($mysqli, "SET NAMES UTF8");
$sql = 'INSERT INTO feedback (name, contact, content, addtime) VALUES ("测试", "qq1000", "留言内容", '.$time.')';
$result = mysqli_query($mysqli, $sql);
$insert_id = mysqli_insert_id($mysqli); // 返回数据表的自增长ID,比如新用户注册返回用户ID
echo $insert_id; // 当你在调试的时候,你会发现echo是很好的帮手。
if($insert_id > 0){
    // 如果入库成功,可以做什么
}

修改和更新:

// 修改更新
// 修改之前需要根据id查找记录是否存在,如果存在则可以修改(这种情况很常用,比如用户后台,除了验证用户是否登录还需要验证当前修改的记录是否属于当前用户)
$mysqli = mysqli_connect('localhost', 'root', '', 'php_course');
if(mysqli_connect_errno()){
    echo '连接数据库失败:'.mysqli_connect_error();
    exit;
}
$sql = "SELECT * FROM feedback WHERE id = 3";
$result = mysqli_query($mysqli, $sql); // 返回一个资源标识符,通常是数字
$row = mysqli_fetch_array($result);
if(!empty($row)){
    // 执行更新操作
    $update_sql = "UPDATE feedback SET name='修改后的名字' WHERE id={$row['id']}";
    if(FALSE !== mysqli_query($mysqli, $update_sql)){
        // 修改成功
    }
}else{
    echo '信息不能再或者不属于你的。';
    exit();
}

删除操作:

// 删除操作
// 跟修改更新同样,删除之前需要判断当前删除的记录是否存在(如果还有图片附件,需要先删除附件再删除记录)
$mysqli = mysqli_connect('localhost', 'root', '', 'php_course');
if(mysqli_connect_errno()){
    echo '连接数据库失败:'.mysqli_connect_error();
    exit;
}
$sql = "DELETE FROM feedback WHERE id = 3";
$result = mysqli_query($mysqli, $sql); // 返回一个资源标识符,通常是数字
if(FALSE !== $result){
    // 删除成功
}

本节主要是php+mysql操作,sql语句相对使用比较频繁,但无非就那几个语法,也是我们今后常用的。

  • 1、select 查找记录
  • 2、insert into 插入数据
  • 3、update 修改数据
  • 4、delete 删除数据(这个是硬删除,永久删除,通常是找不回来的,还有一种是软删除,今后会讲到)

同学记得勤加练习,熟记这几个操作才能掌握。如在学习过程中遇到问题,在下方评论区随时可以讨论。
好了,这节就到这里。下一节我们梳理一下代码,让代码更有可读性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,802评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,109评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,683评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,458评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,452评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,505评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,901评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,550评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,763评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,556评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,629评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,330评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,898评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,897评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,140评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,807评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,339评论 2 342

推荐阅读更多精彩内容