导图社区 第4课 0基础php与sql入门
第4课 0基础php与sql入门思维导图,了解网站搭建的两种基础性语言,明白网站后端的原理和数据库原理。
编辑于2022-10-30 20:48:18 甘肃第4课 0基础php与sql入门
了解PHP
PHP是什么
是一门编程语言
PHP能干什么
开发网站
输出一个属于自己的第一个PHP程序
<?php echo 'hello worid'; ?>
<?php ?> 标识 告诉电脑这里全是PHP的代码
echo 'hello worid' 代码
echo 指令 输出的意思
php的环境搭建
在phpstudy的基础下,在www的根目录下新建记事本改名为***.PHP即可
自定义函数
<?php //define(常量名,常量值); function jia($a,$b){ $C = 0; $C = $a + $b; return $C; } echo jia(1,2) ?>
单双引号的区别
双引号可以解析
解决乱码问题,在PHP代码外加一行
<meta charset = 'utf-8' />
人人都会编程
啥是编程
<?php $sex = '男'; //变量 if($sex == '男'){ //如果 echo '帅哥,进店来看看吧,有****';} else{echo'美女我们店有****,来看看'} ?>
变量
比较运算
分支语句
编程的三要素
变量
变量就是个盒子
计算机的特点:运算飞快,忘得也快
核心
用个盒子装东西,这个东西是为了让计算机别忘了这个盒子的东西
只记得盒子里最后放进去的东西,之前的就被覆盖了
变量的命名规范必须是
字母
下划线
数字
且不能数字开头
$ 为变量命名标志
运算符
加
$wang = 1000; $ma = 15000; echo $wang + $ma
减
乘
$a1 = 45; $a = $a1 * 15; echo $a
除
取余
3/2=1.5 取余在于取整数能运算余下的数
7/3 = 3*2 = 6 取余 1
echo 7%3
比较
大于等于
小于等于
<=
不等于
!=
控制结构
顺序结构
分支语句
循环语句
while()
<?php $water = 1; while($water < 6){ echo "我喝了“.$water."杯,服务员再给我杯水吧<br./>"; $water = $water +1; } ?>
“.”点是连接符
你已学会了编程
打印1——100
<?php $shuzi = 1; while($shuzi <= 100){ echo $shuzi."<br />"; $shuzi = $shuzi + 1; } ?>
"<br />" 是换行的意思
打印1——100的偶数
<?php $i = 1; while($i <= 100){ if($i % 2 ==0){ echo $i."<br />" : } $i = $i +1; } ?>
遇到7的倍数打印a,遇到7的倍数打印b
<?php $i = 1; while($i <= 100){ if($i % 7 ==0){ echo ."a<br />" : } else{ if($i % 13 ==0){ echo . "b<br />" }else{echo $i."<br />" ; } $i = $i +1; } ?>
字符串的处理
字符串是什么
就是文本
么有代码意义的东西都是字符串
单引号或双引号内的东西就是字符串
单双引号的区别
单引号 傻瓜式输出,单引号内是啥就输出啥
双引号 会解析引号内的内容 看是不是变量 如果是变量,会把变量的值输出
字符串处理函数
对字符串进行改变
在安全中,很多时候黑客会输入一些恶意传参,可以找出恶意传参
strstr() 字符串的匹配和寻找
str_replace() 字符串替换函数
转译\
数组
是什么
像是一排柜子存东西
号码牌
标识
号码牌 key 键
在同一排柜子里的号码牌唯一
key 键
怎么定义
<?php $a = array('001'=>'1','002'=>'2',003''=>'3'); print_r($a); 也可以用这个看变量的所有内容var_dump($a); ?>
数据类型
string 字符串
int 数字
Array 数组
接受传参数据
传参的分类
GET
POST
REQUEST 可以同时当这两的传参,使用较多
使用必须大写
传参的区别
是否用url
get用
post不用
传输数据多少
get少,200个字符
post多
表单
在网页主要负责数据采集
适用场景
登录框
搜索框
留言框
上传框
。。。。
原理
浏览器将数据发送到服务器,服务器处理完后将数据发回(返回html/json/jsonpp等)浏览器
组成
表单标签
表单标签就是html代码
<form action = "URL" method = "GET/POST">
action 数据传到哪里
method 用什么传参传数据
表单域
设置页面的输入框
<input type = 'text' name='fenshu' />
text 文本输入框
neme 即一定要给表单域附一个名字,不然数据无法传参
表单按钮
提交页面的输入的内容或者提起按钮操作
<input type = 'submit' valu = '提交' />
submit 提交按钮
初识数据库
数据库是什么
数据库与变量的区别
变量只有在代码中存储数据,让计算机容易找到要用的数据
数据库是数据仓库
里面专门存放数据
数据库是靠sql语句操作的
它的结构是什么
库
库是由多张表组成的
表
表是由多个字段和记录组成
字段
类似Excel的表,字段就是列名
记录
是指每一行的信息
常见的数据库有哪些
Mysql
Access
MSSql
oracle
数据库的增删改查
核心
增加数据记录
建表
create table 表名(字段名 数据类型,字段名2 数据类型,。。。)
插入数据
insert into 表名 value(值,值)
insert into 表名(列名1,列名2) value(值)
插入字段不用写单双引号,插入值要写单双引号
数据库对代码部分的大小写不敏感,但是对数据大小写很敏感
在搜索时对数据大小写不敏感
查询数据
select * from 表名 where 条件
select 字段名 from 表名 where 条件
修改数据
update 表名 set 列名 = 新列值 where 列名 = 旧列值
update 表名 set 列名 = 新列值 , 列名2 = 新列值 where 列名 = 旧列值
删除数据
delete from 表 where 列名 = 列值
运算符合结果处理
结果排序
order by 排序第一个字段
order by 字段名 排序写了字段名的这个字段
默认升序 【asc】
降序 【desc】
分页
l imit n,m
l imit 从哪里开始,取多少行数据
select * from 表名 l imit 0,1
从第一行开始取一行数据
多行数据一起输出
group_concat()
模糊查询
like %a%
查询包含a的所有值
like a%
查询a开头的所有值
like %a
查询a结尾的所有值
例子
select * from 表名 where 字段 like %数据%
休眠函数
sleep(2)
服务器进入摸鱼模式,故意拖2秒返回数据
例子
select sleep(2)
查询当前所在库
select database()
运算符号
和其他语言没区别
逻辑运算符
and
既要这样,又要那样
or
这个或那个
not
取反,你往左我就往右,对着干
in
取一个范围内的值
联合查询和子查询
联合查询
union
将两个查询语句的结果一起输出【重复的不输出】
union all
将两个查询语句的结果一起输出【重复也输出】
注意
需要满足条件是相同列数
例子
select * from 表名 union select * from 表名
子查询
在原来的sql语句中写小括号,优先执行一个查询语句
select * from 表名 where password = (select 字段名 from 表名 where 条件)
PHP与数据库交互
正常网站
传参--》php 处理 --》 去数据库存东西去东西 --》 显示数据
这里就是用PHP去操作数据库,用到PHP的MySQLi扩展
mysqli扩展
PHP自带的扩展
用于处理PHP与MySQL的交互
核心就是PHP去操作数据库
如何操作
mysqli_connect (链接地址,账号,密码,库名)
$conn = mysql i _ connect('localhost','root','root','fuli');
localhost 本地
mysql i_select_db(连接、库名)
mysql i_select _db($conn,'fuli');
$conn 表示对那个数据库进行操作,这里指对上面一行的数据库进行操作
mysql i_query(连接,执行sql语句)
$sql = insert into nf value(88,'PHP'); mysql i_query($conn,$sql);
编写一个属于你的网页
创建数据库
1、在phpstady 2016中的 --- 其他选项菜单 ---cmd命令行
2、登录数据库 mysql -u root -p 用户名:root Enter password:root 密码 :root
打开本机数据库
3、新建库 create database xvejianwangzhan;
create database 学建网站
4、进入库 use xvejianwangzhan;
use 学建网站
5、创建数据表 create table fenshu(name varchar(255),fs int(10),ig int(3));
create table 表名(分数分数)(名字 ,分数,及格)
编写PHP
1.php
<?php $name = $_POST['name']; //定义变量名字name,接受传参名字 $fenshu = (int)$_POST['fenshu']; //定义变量分数fenshu,接受传参分数 if($fenshu<60){ //判断变量分数fenshu是否小于60,小于给变量i赋值2,否则赋值1 $i = 2; echo 'NO'; } else{ $i = 1; echo 'YES'; } $conn = mysqli_connect('localhost','root','root','xvejianwangzhan'); //连接数据库到数据表学建网站 $sql = 'insert into fenshu value($name,$fenshu,$i)'; //定义一个变量sql,把要执行的sql语句写进去,给数据表传输数据分别为变量名字、分数、和及格的i $result = mysqli_query($conn,$sql); //连接,执行sql语句 ?>
2.php
编写HTML
登记分数
<from action='1.php' method='POST'> 姓名<input type='text' name='name'/><br /> 分数<input type='text' name='fenshu/'><br /> <input type='submit' value="提交"/> </from>
后台管理
<from action='2.php' method='POST'> 账号<input type='text' name='username' /><br /> 密码<input type='password' name=''password' /> <input type='submit' value="提交"/> </from>