当前位置 : 主页 > 网络编程 > PHP >

PHP7留言板开发的第二步准备

来源:互联网 收集:自由互联 发布时间:2023-08-02
php7教程 栏目讲解PHP7留言板开发的第二步准备 推荐(免费): PHP7教程 本步骤纲目: 1、超全局变量 $_GET $_POST 2、MYSQL数据库设计 3、mysqli相关数据库操作,连接及增删改查( select ins

php7教程栏目讲解PHP7留言板开发的第二步准备

PHP7留言板开发的第二步准备

推荐(免费):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 删除数据(这个是硬删除,永久删除,通常是找不回来的,还有一种是软删除,今后会讲到)

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

【文章出处:香港服务器 https://www.68idc.cn欢迎留下您的宝贵建议】

上一篇:详谈PHP7下的协程实现
下一篇:没有了
网友评论