一、PHP技术与应用

1.1 简介

PHP(原名 Personal Home Page的缩写,已经正式更名为 “PHP: Hypertext Preprocessor”,中文名:“超文 本预处理器”)是一种通用开源脚本语言。

1.2 语言基础

1.2.1 注释符与结束符
// 单行注释
/* 多行注释 */
// 结束符使用英文分号 “;”
1.2.2 常用命令和系统函数
echo
echo输出 : 只能输出字符串、数字、布尔(true:1 false:空)类型的数据。var_dump()
此函数显示一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构
print_r()echo 和 print 的区别
共同点:都只能输出 字符串,整型跟int型浮点型数据。不能打印复合型和资源型数据;
区别:echo 可以连续输出多个变量,而print只能一次输出一个变量。print打印的值能直接复制给一个变量
如 $a = print “123”;2.var_dump()和print_r()的区别共同点:两者都可以打印数组,对象之类的复合型变量。区别:print_r() 只能打印一些易于理解的信息, var_dump()不但能打印复合类型的数据,还能打印资源类型的变量。且var_dump()输出的信息则比较详细,一般调试时用得多。
1.2.3 变量

声明变量:$

$变量名 = 表达式;
// 命名规则:字母数字下划线、首字符不能为数字、严格区分大小写、且不能使用关键字!推荐驼峰命名法。
1.2.4 常量

使用 define关键字定义常量,常量命名要全部大写,常量的数据类型不能是资源、对象。

define('常量名',表达式);
const 常量名 = 表达式;
// 示例:
define("FRONT_END","前端开发");
1.2.5 PHP常用数据类型
  • 四种标量类型

    布尔型(boolean):true或false。
    整 型(integer)范围:2^32 或 2^64(超出自动转换为浮点型)。
    浮点型(float)范围:双精度。
    字符串(string):单引号(不支持解析变量)或双引号(支持解析变量,不支持表达式)引起来的内容。
    

两种复合类型

数组型(array)
对象型(object)

两种特殊类型

资源型(resource):变量可以是文件夹、一个文件、从数据库中得到的结果集等。
空 型(null):表示一种状态,变量没有任何值。
1.2.6 数组
1.2.6.1数组类型
- 关联数组:下标为有意义的字符串。
- 索引数组:下标为默认从 0 开始的数值。
1.2.6.2 定义数组

1)直接赋值方式定义

$a[] = 10;
$a[] = 20;
$a['name'] = '张三';
$a['sex'] = '男';

2)使用 array()函数

$b = array(10,20,30);
$b = array('name'=>'张三','sex'=>'男','age'=>28);

3)快捷赋值

$c = [10,20,30];
$c = ['name'=>'张三','sex'=>'男','age'=>28];
1.2.6.3 多维数组
// 二维数组
$group = array(
'one'=>array('张三','李四','王五'),
'two'=>array('赵六','孙七'),
);
// 定义一个三维数组
$class = array(
'class01'=>array(
'one'=>array('张三','李四','王五'),
'two'=>array('赵六','孙七'),
)
// 获取李四
echo $class['class02']['one'][1]; // 李四
1.2.6.4 遍历数组
//for 遍历索引数组 ------------------------------------------------------
$arr = [11,22,33,44,55];
for($i=0; $i<count($arr); $i++){var_dump($arr[$i]);
};
//foreach------------------------------------------------------------
$f_arr=["name" => "zhangsan","age" => 18,"sex" => "m"];
foreach ($f_arr as $key => $value) {echo $key.":".$value."<br>";
};
1.2.6.5 运算符
算术运算符            + - * / %
赋值运算符           = += -= *= /= %= .=
比较运算符           > >= < <= != !== == ===
逻辑运算符           && || not and or
字符串运算符          .
三元运算符           ==? :
错误抑制符           @
提升优先级符号        ()
1.2.6.6 流程控制

if…else 语句

if (条件){语句;
}else if (条件){语句;
} else {语句;
}
// 案例
$score = 66;
if($score >= 80 && $score <= 100){echo '优';
} else if ($score >= 70 && $score <= 79){echo '良';
} else if ($score >= 60 && $score <= 69){echo '及格';
} else {echo '不及格';
}

switch语句

switch (表达式) {case 值1: 语句;break;
case 值2: 语句;break;
...
default:
语句;
}// 案例
$action = 'save';
// 分支
switch($action){case 'save':echo "保存数据!";break;case 'del':echo "删除数据!";break;default:echo "请输入正确数据";
}
1.2.6.7 循环

while循环

While(条件表达式) {// 若条件成立,则执行这里的循环体
// 改变初值的条件 ;
}// 案例代码
$count=0;
while($count<10){// 循环体echo $count.'<br/>';$count++;
}

do…while 循环

do {// 循环体
// 改变初值的条件 ;
} while(条件表达式);// 案例代码
$j=0;
do{    // 循环代码echo $j.'<br/>';$j++;
}while($j>10);

for循环

for(初值;范围;递增) {// 循环体
}
// 案例代码
for($i=0;$i<10;$i++){// 循环代码echo $i.'<br/>';
}

二、数据库

2.1 集成环境

1)安装MySQL(XMAPP集成环境)

XMAPP = Apache+MySQL+PHP+perl

2.2数据库操作

2.2.1 数据库简介

MySQL属于关系数据库。

SQL(Structured Query Language)是用于访问和处理数据库的 标准计算机语言。

使用 SQL 访问和处理数据系 统中的数据,这类数据库包括:Oracle,mysql,Sybase, SQLServer, DB2, Access 等等。

SQL语言由DDL、DML、DQL、DCL等几部分语言组成。

SQL 对大小写不敏感,一般数据库名称、表名称、字段名称全部小写。

MySQL要求在每条 SQL 命令的末端使用分号。

2.2.2 SQL语言分类
2.2.2.1 DML

(data manipulation language)数据操纵语言:

​ 简记:增删改查

SELECT 列名称 FROM 表名称
SELECT * FROM news;UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
UPDATE news SET title="我是标题" WHERE id=1;INSERT INTO table_name (列1, 列2) VALUES (值1, 值2)
INSERT INTO news VALUES (NULL,"字段1内容","字段2内容");DELETE FROM 表名称 WHERE 列名称 = 值
DELECT FROM news WHERE id=1;
2.2.2.2 DDL

(data definition language)数据库定义语言:比如说:CREATE、ALTER、DROP等

CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
)
CREATE TABLE student(
id int,
name varchar(20),
sex enum('男','女')
);ALTER TABLE table_name    //用于在已有的表中添加、修改或删除列。
ALTER COLUMN column_name datatype // 改变表中列的数据类型DROP TABLE 表名称 //删除表
DROP DATABASE 数据库名称 //删除数据库
2.2.2.3 DCL

(Data Control Language)数据库控制语言:

用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。这个比较少用到。

2.3数据库基操和字段约束
2.3.1登陆与退出
mysql -u 用户名 -p 密码 -h 主机名 -p端口-- 或者 **  为注释     //注释之后一定要加一个空格exit \q  ctrl+c 退出
2.3.2 数据库的创建
create database 库名;create database 库名 default character set utf8_general_ci;
// 创建数据库并设置编码格式和排序规则
2.3.3 查看数据库
show databases;
2.3.4 删除数据库
drop database 库名;
2.3.5 打开数据库
use 数据库名;
2.3.6 查看当前打开数据库
select database();
2.3.7 MySQL常用数据类型
   字符串类型
char            定长字符串
varchar         变长字符串
text            大文本整形
tinyint         极小整形
smallint        小整形
int或者integer   整形
bigint          大整形
浮点型
float           单精度
double          双精度
decimal         定点形日期型
date            日期型
time            时间型
year            年份
datetime        日期时间型
timestamp       时间戳
2.3.8 字段约束
not null/null        非空/空
default             默认值
primary key         主键
auto_increment      自增长
foreign key         外键
unique              唯一
comment             注释
engine=innodb      存储引擎
limit               只写一个默认从0开始
distinct            去重

完整字段约束如下:

# 创建学生表
drop table if exists student;
create table student (
sno varchar(3) not null primary key comment '学号', -- 主键约束(值不能为空,且唯一)
sname varchar(4) not null, -- 非空约束
ssex char(2) characterset big5 collate big5_chinese_ci default "男", -- 默认值约束
sbirthday varchar(10) default null,
class varchar(5) not null ) engine=innodb default charset=utf8; -- 设置编码
2.3.9 查看表结构
desc 表名;
2.3.10 修改表结构
alter table 表名 [add/change/modify/drop] 列名 [类型];

示例如下

添加一列:
alter table 表名 add department varchar(20);  ## department字段名修改列:
alter table 表名 modify 字段名 类型(date);
alter table 表名 change 字段名 新字段名 类型(date);
## change可以更改列名和列类型 (每次都要把新列名和旧列名写上, 即使两个列名没有更改,只是改了类型)
## modify只能更改列属性 只需要写一次列名, 比change省事点删除列:
alter table 表名 drop department  ## 删除一列
2.3.11 基本查询
select [distinct] * 列表名 as 别名from 表名where 条件group by 列名
SELECT sex,count(*) FROM student group by sex;having 分组条件
SELECT sex FROM student group by sex having avg(age)>20;order by 列名1 [ asc 升序 / desc 降序 ]limit [skip],[count]
2.3.12 聚合函数
sum      对数值型求和
avg     对数值求平均值
max     求最大值
min     求最小值
count   计数 可写成count(*) 或者count(列名)
2.3.12 连表查询
select s.id,s.name,c.cid from student as s join class as c on s.cid=c.cid;

三、Web前端开发中级理论模拟考试

 2. 以下哪个标签不是 HTML 5 的语义化标签?(   )A、<header></header>             标签定义文档的页眉(介绍信息)。  B、<section></section>            标签定义文档中的节(section、区段)C、<marquee></marquee>       D、<article></article>            定义外部的内容。3. 下列(   )不属于CSS文本属性。A、font-size                     文字大小B、text-transform                    控制文本的大小写。 C、text-align                      文本对齐方式D、line-through                    字符横杠样式8. 关于PHP解析结果集的函数,哪一个是以对象的方式返回一行数据?(   )A、mysqli_fetch_row                 返回行B、mysqli_fetch_assoc                 返回一条关联数组C、mysqli_fetch_array                    返回一条数字数组或关联数组D、mysqli_fetch_object10. HTTP状态码的解释错误的是(   )。A、200表示服务器响应成功      B、301表示临时跳转C、404表示请求的服务器资源权限不够        请求的资源(网页等)不存在D、500代表程序错误12. PHP中,使(    )函数将数组元素组合为字符串。A、explode                                   把字符串打散为数组:B、trim                                     移除字符串两侧的字符C、strpos                                      查找特定字符第一次出现的位置D、implode                                 将数组元素组合为字符串15. 对一个文件进行写入操作不需要的函数是(   )。A、fopen                     打开文件B、fread                     文件读取C、fwrite                        文件写入D、fclose                        关闭文件29. 下面哪个不是PHP的魔术方法?(   )A、__requireB、__set               魔术方法在我们尝试修改一个不可访问的属性时会被调用C、__call           魔术方法__call()在调用不存在或不可访问的方法时会被调用。D、__autoload       通过定义这个函数来启用类的自动加载。

Web全栈开发1+x(中级)PHPMySQL知识相关推荐

  1. 【融职教育】Web全栈开发就业班核心优势

    IT技能培训行业现在是一片红海,在红海中求生存和发展就要具有一定的特色和竞争优势.本质上都是为学员提供更好的服务,提高教学品质,让学员可以学会技术,掌握足够工作技能,具有向企业交付的能力,让学员不仅可 ...

  2. Web全栈开发基础(小白入门版本)

    博客传送门 近几个月认真写了写Web全栈代码,有点小收获这里分享一下.我还做了个PPT,资源路径 欢迎拍砖指点! Web全栈开发是一个听起来很虎的名词.本文从技术层面解释全栈开发,能帮助没有全栈概念, ...

  3. web全栈开发项目搭建整体思路和学习路线

    web全栈开发 全栈开发技术介绍: 全栈技术指可以完整整个项目搭建的有效集合. 包括:网站的设计,web前端开发,web后端开发,数据库设计,接口和组件,移动端开发,产品设计,系统架构,产品的理念和用 ...

  4. Web全栈开发训练营

    Web全栈开发训练营 学习从头开始构建可发现的.引人入胜的渐进式 Web 应用程序 此视频教程共2.0小时,中英双语字幕,画质清晰无水印,源码附件全 课程英文名:Complete Progressiv ...

  5. 小白都能看懂的实战教程 手把手教你Python Web全栈开发(DAY 3)

    小白都能看懂的实战教程 手把手教你Python Web全栈开发 Flask(Python Web)实战系列之在线论坛系统 第三讲 这是小白都能看懂的实战教程 手把手教你Python Web全栈开发 的 ...

  6. 简易的web全栈开发——服务器部分

    简易的web全栈开发--服务器部分 java sdk的安装 nginx的安装 mysql的安装 node的安装 连接数据库 第一步,买一个云服务器,过程略,买的是个2核4G的轻量应用服务器,预装的是c ...

  7. 苏州木渎计算机课程培训,苏州木渎H5/web全栈开发培训

    课程名称:H5/web全栈开发 课程类型:网页设计 班型:全日制/周末班/晚班 适用校区:全校区 课程详情: 由于网络的发展以及人们使用网络的频繁性,企业需要通过网页呈现产品.服务.理念.文化,或向大 ...

  8. 【哈士奇赠书活动 - 18期】-〖Flask Web全栈开发实战〗

    文章目录 ⭐️ 赠书活动 - <Flask Web全栈开发实战> ⭐️ 编辑推荐 ⭐️ 内容提要 ⭐️ 赠书活动 → 获奖名单 ⭐️ 赠书活动 - <Flask Web全栈开发实战& ...

  9. 小白都能看懂的实战教程 手把手教你Python Web全栈开发(DAY 1)

    小白都能看懂的实战教程 手把手教你Python Web全栈开发 Flask(Python Web)实战系列之在线论坛系统 第一讲 博主博客文章内容导航(实时更新) 更多优质文章推荐: 收藏!最详细的P ...

  10. 什么是全栈工程师,为什么全栈开发用Python,Python web全栈开发到底有多高薪?

    我们经常听到全栈工程师这个词语.那么很多小伙伴还是不明所以,什么是全栈工程师?为什么全栈开发用Python?Python web全栈开发到底有多高薪? 一.什么是Python web全栈工程师? 全栈 ...

最新文章

  1. Dubbo开源现状与未来规划
  2. C# 创建Windows服务。服务功能:定时操作数据库
  3. grade项目导入新external libraries_【易推荐】德意志银行学院中国项目启动
  4. Eigen(5)Array类和元素级操作
  5. 移动推送消息送达常见问题与解决办法
  6. 专家:未来三年为转云时间窗口
  7. ARCGIS 拓扑规则阐述
  8. Apollo OpenDRIVE和ASAM OpenDRIVE的区别
  9. Dempster-Shafer Evidence Theory
  10. 什么是计算机图形学?
  11. 实际应用3: 图书数据可视化分析(基于matplotlib的python数据可视化)
  12. python笔记:7.2.2.2 一元多因素方差分析_交互效应(购房面积影响因素交互效应)
  13. linux系统卸载git,linux卸载gitlab
  14. 92套AE抖音快闪模板(精品)
  15. 征服面试官的50道Redis高频通关面试题
  16. [线性代数]向量2-范数三角不等式证明
  17. [Usaco2010Hol]Dotp
  18. 计算机网络学习——套接字实验(二)
  19. IOS按钮排列自动换行
  20. C语言家谱管理程序,[C语言]家谱 - 代码贴 - BCCN

热门文章

  1. HTML form表单添加enctype属性后获取不到input值
  2. asp.net word操作
  3. 第三天-01-批处理文件
  4. Qt编写数据可视化大屏界面电子看板10-改造QCustomPlot
  5. 【 已解决 】iPhone 越狱后用爱思助手刷机出现 NORdata,无法刷机
  6. vs2010安装失败(如下图)的解决方法
  7. 并发编程之原子性及同步锁
  8. Linux防火墙操作命令,开放或关闭端口
  9. 小程序跳到h5页面_小程序如何跳转h5页面
  10. PotPlayer播放蓝光片源及如何硬解码和音频源码输出