https://home.cnblogs.com/group/topic/8550.html

PHP与数据库基础-掌控安全福利课

PHP与数据库基础-掌控安全福利课

1:了解PHP

PHP是什么?
PHP能干什么?开发网站
输出一个属于自己的第一个PHP程序。

<?php
echo 'Hello World';
?>

image-20201006162816316数据库简介及SQL语法

2:人人都会编程

起床上班:
打招呼 if 判断【需要预先设定】

<?php
  $sex='男';
	if($sex=='男'){
    echo'帅哥';
  }else{
    echo"妹妹";
  }
?>

变量 运算 控制
变量 比较运算 分支语句

3:变量教学-变量就是个盒子

计算机特点:运算飞快,忘的也飞快

变量就是个盒子储存东西的

4:运算符符号

加减乘除取余比较大于等于小于等于不等于
1+1=2

$Wang = 100000;
$Ma = 150000;
echo $Ma + $Wang

$A1 = 45;
$A = $A1*15;
echo $A
  
$Fang =19;
$Zheng =18;
if($Fang >15){
echo '方先生大于15岁';
}
else{echo '方先生不大于15岁';}

5:控制结构

顺序结构 分支语句 循环语句

穿衣服 穿鞋子 刷牙洗脸 去上班

$a = 1;
$a = 2;

分支语句  [选择] 
$sex = '男生';
if($sex == '男生')
{echo 'Hello Boy';}
else
{echo 'Hello';}

循环语句
while()  不断的做某件事

比如说我们现在在喝水 

<?php
$water = 1;
while($water<6){
echo '我喝了'.$water.'杯,服务员再给我杯水吧<br />';
$water = $water +1;
}
echo '谢谢,我喝了'.$water.'杯水,不渴了';
?>

6.你已经学会编程

打印1-100
打印1-100偶数 //偶数的定义 能被2整除
遇到7的倍数 打印字符A
遇到13的倍数 打印字符B

7.字符串的处理

1.字符串是什么 //字符串其实就是文本 代码
2.单双引号的区别
3.字符串处理函数

单引号与双引号区别

双引号会解析$后的内容

image-20201006192425781

image-20201006192506365

strstr() 字符串的匹配和寻找
str_replace() 替换

echo 'echo';
在安全中,很多时候黑客会输入一些恶意传参

8.数组

数组
实际上是一排柜子
存东西
号码牌 标识

号码牌 Key 键 [独一无二的不会重复]

key键 value值

9.制作一个网页

如何获取GET|POST传参

$_GET
$_POST

表单 HTML代码

GET传参 POST传参

什么是表单?

表单在网页中主要负责数据采集功能。
一个表单有三个基本组成部分:
表单标签:这里面包含了处理表单数据所用动态脚本的URL以及数据提交到服务器的方法。
表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。
表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的动态脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。

使用场景:
登录框
搜索框
留言框
上传框
……(各种框)

image-20201007162317650

表单标签:
<form action= "URL" method="GET/POST" >

image-20201007162440200

表单域:即表单组件,主要有
文本框、密码框、隐藏域、复选框、单选框、文件上传框
多行文本框(文本域)
下拉选择框
……
表单按钮:
提交按钮
复位按钮
一般按钮

image-20201007162548655

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <form action="1.php" method="GET">
        <input type="text" name="fenshu">
        <input type="submit" value="提交">
    </form>
</body>
</html>
<?php
    header("Content-Type: text/html;charset=utf-8");
    $fenshu=$_REQUEST['fenshu'];
    if($fenshu>=60){
        echo '及格';
    }else{
        echo '不及格';
    }
?>

10.初识数据库

数据库是什么? // 数据 仓库
它的结构是怎么样的? //库 表 字段 记录
常见的数据库有哪些? //Mysql Access MSSQL Oracle

数据库他是靠SQL语句
X张表变成一个库

11.数据库结构改变

数据库结构改变

show databases 查看有什么库

show tables 查看有什么表

use 库名 [进入库]

desc 表名 查看表的结构

建立数据库:Create database 库名

删除数据库:Drop database 库名

建立表: create table 表名(字段名 字段类型,字段名2 字段类型)

删除数据表: Drop table 表名

添加表里面的字段:Alter table 表名 add 字段名 字段类型

删除表里面的字段 Alter table 表名 drop 字段名

修改表内字段名:alter table 表名 change 旧字段名 新字段名 新类型;

出现了不知道的东西,字段类型是什么?

就是字段的格式,例如 int 数字 [只能存储数字]

varchar 字符串 [能存储字符串] varchar(255) [能储存255个字符]

12.增删改查 对记录

插入数据(增):
insert into 表名 values (值,值)

insert into 表名(列名1,列名2) values(值1,值2)

查询语句:
select *from 表名 where 条件

select 字段名 from 表名 where 条件
修改数据:
update 表名 set 列名 = 新列值 where 列名 = 旧列值

update 表名 set 列名 = 新列值,列名2 = 新列值 where 列名 = 旧列值

删除数据
Delete from 表 where 列名=列值

13.运算符和结果处理

结果排序
order by 1 排序第一个字段
order by 字段名 排序写了字段名的这个字段
默认升序 [asc]
降序[desc]

分页
limit n,m
limit 从n开始,取m行数据
多行数据一起输出
group_concat()

模糊查询:
like %a% 查询包含a的所有值
like a% 查询a开头的所有值
like %a 查询a结尾的所有值

休眠函数
sleep(2) 服务器进入摸鱼模式,故意拖2秒返回数据

查询当前所在库
select database();

数学运算符号:
+ - * /
他和PHP中没有啥区别

逻辑运算符:
and [满足两个条件才可以] 既要这样,又要那样
or [满足一个条件就可以] 这个或那个都行
not [取反]

14.联合查询与子查询

联合查询和子查询

联合查询: union 将两个查询语句的结果一起输出 [重复的不输出]
union all 将两个查询语句的结果一起输出 [重复也输出]
需要满足条件,相同列数

子查询:
在原本的SQL语句中写小括号,优先执行一个查询语句

select*from ssg where password=(select uname from nf where id=1); => select *from ssg where password=10

15.PHP与数据库交互

1.这里需要使用mysqli扩展
2.mysqli_connect 连接数据库
3.mysqli_select_db() 选择库
4.mysqli_query() 执行sql语句

正常网站:
传参 -> PHP 处理 -> 去数据库存东西获取东西 -> 显示数据

这里有很核心的一步是PHP能够操作数据库,这里就需要用到PHP的mysqli扩展
这个扩展时操纵mysql数据库,自带的,你可以理解为他是一些函数,当你看到一个函数时mysqli_ 的适合一般都属于mysqli扩展。

Mysqli扩展的核心就是PHP去操作数据库
如何操作
建立连接:

mysqli_connect(链接地址,账号,密码,库名)
=>    $conn=mysql_connect('localhost','root','root','fuli');
mysqli_select_db(连接,库名)
mysqli_select_db($conn,'fuli');
mysqli_query(连接,执行SQL语句)
$sql = insert into nf value(88,'PHP');
mysqli_query($conn,$sql);

16.完成登陆页面功能

1.提取数据库内容
2.进行判断
3.完成页面
上节课讲了操作数据库语句,但是很多适合我们需要取出数据库里的内容,如何输出?

$result = mysqli_query($conn,$sql);
mysqli_fetch_array($result);

将数据库执行的结果转化为数组

尝试整合之前所学的,做一个登陆页面

posted @ 2020-10-09 17:44  xcsxchen  阅读(226)  评论(0编辑  收藏  举报