第一章 PHP mySQL
一,服务器环境搭建
1-1.Apache服务器。(端口号定义,http协议,开启和关闭)
服务器:
我们在浏览器浏览网页的时候,在地址栏中都会产生一个url。通过这个url,浏览器从互联网中找到一个网页并下载到当前浏览器中显示。那么这个网页从何而来呢?
从web服务器来。一个网站完成开发后,我们需要把网站上传到一个web服务器中,web服务器会产生一个url地址,用户通过这个地址,在浏览器的地址栏中输入这个url,就可以在互联网上访问这个网站了。
web服务器是什么呢?web服务器实际上就是一台互联网联通的计算机,计算机上保存了许多文档或者网站,可供联网的客户端访问。
目前最主流的三个Web服务器是Apache、 Nginx 、IIS
Apache、 Nginx 、IIS :这三个指的是服务器运行环境。
1-2.webserver原理。

客户端浏览器向服务器发送一个http请求,请求通过应用层http携带请求的条件(数据),经过TCP与服务器的三次握手,确认连接成功后,向服务器发送数据包,服务器接收到数据所并通过解析处理后,向客户端返回数据包,客户端接收解析并将结果显示在页面。
1-3.集成环境安装。
这里使用wampserver集成环境
1-4.php运行环境介绍。
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。同时Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。也是一个基金会的名称、一种武装直升机等等。(这段话摘自百度百科)
二,php基础
1、简介: PHP 是 "PHP Hypertext Preprocessor" 的首字母缩略词 PHP 是一种被广泛使用的开源脚本语言 PHP 脚本在服务器上执行 PHP 没有成本,可供免费下载和使用 语法吸收了C,java,Perl等语言的特点,利于学习,使用广泛,主要适用于web开发领域
2、分界标示符(定界符)
php分界标示符表示确定php脚本的开始和结束位置,在php语言中有三种不同风格的分界
标示符可以让php代码嵌入到html代码中,分别如下
2-1,标准分界标示符<?php ?>
2-2,简写分界符<? ?>
2-3,<% %>
3,基本语法
PHP 变量
变量以 $ 符号开始,后面跟着变量的名称
变量名必须以字母或者下划线字符开始
变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )
变量名不能包含空格
变量名是区分大小写的($y 和 $Y 是两个不同的变量)
如:$num = 5; $num1 = 6; $str = "string";





三,mySQL数据库
1-1. 数据库概念(数据库,表,主键)
DB的概念:
DB的全称是data base,即数据库的意思。数据库实际上就是一个文件集合,是一个存储数据的仓库,本质就是一个文件系统,数据库是按照特定的格式把数据存储起来,用户可以对存储的数据进行增删改查操作;
DBMS的概念
DBMS的全称是Database Management System,即数据库管理系统的意思,是一个软件,用来管理数据库文件的软件,用户可以访问DBMS对数据进行增删改查操作,常见DBMS有: MySQL、oracle、DB2、sqlite、sqlserver等
1-2. 数据结构;
未结构化的数据:
我叫xxx,性别男女,今年18岁了,家住---,
结构化的数据:如下图

列:id name age phone adress等为列
字段:每一列为一个字段
主键:用于表示唯一的一行,一般将id设置为主键。
1-3. 操作数据库;
创建数据库:CREATE DATABASE myDB;//myDB为数据库名称
创建数据表:
CREATETABLE`mydb`.`studentinfo`(`sid`INTNOTNULLAUTO_INCREMENT,`sname`VARCHAR(50)NOTNULL,`sex`VARCHAR(10)NOTNULL,`age`INTNOTNULL,PRIMARYKEY(`sid`))ENGINE= MyISAM;
插入一行数据:
INSERT INTO `studentinfo`(`sname`, `sex`, `age`) VALUES ("张三","男",18);
一次性插入多行:
INSERT INTO `studentinfo`(`sname`, `sex`, `age`) VALUES ("李四","男",19);
INSERT INTO `studentinfo`(`sname`, `sex`, `age`) VALUES ("王五","子",18);
INSERT INTO `studentinfo`(`sname`, `sex`, `age`) VALUES ("赵六","男",22);
修改:根据sid=1修改sname
UPDATE `studentinfo` SET `sname`="张三1" WHERE sid = 1;
删除一行:删除sid=2这一行
DELETE FROM `studentinfo` WHERE sid=2;
查询所有:
SELECT * FROM `studentinfo`;
查询sid=1这一行:
SELECT * FROM `studentinfo` WHERE sid=1;
查询sid=1这一行中的sname和sex字段
SELECT `sname`, `sex` FROM `studentinfo` WHERE sid = 1;
查询studentinfo表中的sname和sex字段的所有信息:
SELECT `sname`, `sex` FROM `studentinfo`;
四,php 生成动态网页。


五.php 链接mySql
1.连接数据源
$db = mysqli_connect("localhost","root","");
2.连接数据库
mysqli_select_db($db,"myDB");
3.设置字符编码
mysqli_query($db,"set names utf-8");
4.设置sql语句
$sql = "SELECT * FROM `studentinfo` WHERE sid=1";
5.执行sql语句
mysqli_query($db,$sql);
六,项目案例:学生管理系统 php + mySql (sql 语句增删改查)
需求分析:
项目结构:

工具文件public.php,封装链接数据源方法,头信息的字符编码设置

1.注册页面:register.html
页面输入用户名,密码,点击注册按钮,向后台register.php发送请求

2.接口文件:register.php
接收register.html请求过来的用户名和密码,并将用户名和密码保存在数据库中,保存成功,即为注册成功,注册成功后跳转到登录页面login.html进行登录操作
保存失败,为注册失败,跳转到register.html继续注册操作

3.登录页面:login.html
输入用户名和密码,点击登录按钮,向后台login.php接口发送登录请求。

4.接口文件:login.hph
接收从页面发送过来的请求;
根据发送过来的用户名向数据库中查询该条数据,如果查询到一条数据,说明用户名存在,用户名存在时,将密码与查询到的该条数据中的密码对比,
如果匹配,说明登录成功,跳转到到学生信息接口studentInfo.php;
如果不匹配,说明密码不正确,跳转到登录页重新登录
根据发送过来的用户名向数据库中查询该条数据,如果没有查询到一条数据即结果为空时,说明用户名有误,跳转到登录页重新登录 。

5.接口文件:studentInfo.php;
在数据库中查询studentinfo表,查询所有学生信息,并将数据用表格的方式动态显示在页面。,其中最后一列需要添加一个修改和删除的a标签,对其点击会执行修改或删除操作,生成一个单独的a标签,该标签点击时进行添加学生信息操作。

6.删除接口:delete.php
在studentInfo.php生成的页面中,点击a标签,发送删除请求到接口delete.php中,请求中携带了一个id字段,字段为当前学生信息对应的id。
接口中招收id字段,根据该字段到数据库中删除对应的该条信息,
结果返回1说明删除成功,跳转到studentInfo.php接口继续显示学生信息。
返回空说明删除失败,跳转到studentInfo.php接口继续显示学生信息。

7.修改页面:update.html
在studentInfo.php接口生成的页面中,点击修改的a标签,发送修改请求到接口update.html中,请求中携带了一个该条所有学生信息字段,这些字段的信息都要默认显示在页面中。
获取url中的查询串信息,将信息分别显示在对应的文本框中,页面操作对想要修改的字段进行修改后,点击修改按钮,向update.php接口发送修改请求。

8.修改接口:update.php
接收update.html发送过来的请求,获取对应的字体信息,根据发送过来的id字段向数据库进行修改操作,执行修改语句后返回1说明修改成功,跳转到studentInfo.php接口显示学生信息,返回空说明修改失败,跳转到studentInfo.php接口显示学生信息;

9.添加学生信息页面:insertInfo.html
studentInfo.php接口显示的页面中点击添加a标签,跳转到insertInfo.html中,填写学生信息表,点击添加按钮,向接口insertInfo.php发送请求。

10.接口文件:insertInfo.php
接收页面请求过来的数据,将数据sql操作,插入到数据库中。执行sql语句后返回1说明信息添加成功,跳转到studentInfo.php接口显示学生信息,返回空,也要跳转到studentInfo.php接口显示学生信息。

第一章 PHP mySQL的更多相关文章
- 第一章 初识Mysql
Mysql是一个开放源代码的数据库管理系统(DBMS),它是由MySQL AB 公司开发.发布并支持的. 登录 -- mysql #本地登录,默认用户root,空密码,用户为root@127.0.0. ...
- 第一章:mysql的介绍与安装
什么是数据库管理系统 1)管理数据(增删改查) 2)存储数据 数据库管理系统的分类 1)关系型数据库(rdbms) 典型产品:mysql,oracle,mariadb,mssql(sqlserver) ...
- 【第一章】MySQL数据概述
安装部署 备份恢复主备复制读写分离HA架构分布式数据库压力测试性能优化自动化运维 ==数据的存储方式1. 人工管理阶段2. 文件系统阶段3. 数据库系统管理阶段 ==数据库技术构成1. 数据库系统 D ...
- 《高性能mysql》笔记(第一章,mysql的架构与历史)
mysql的服务器逻辑架构图如下: 目前工作用的5.5版本,5.5版本开始mysql开始将innoDB作为默认的存储引擎,innoDB的表是基于聚簇索引建立的. mysql的存储引擎锁管理非常重要,在 ...
- 第一章 初识MySQL(待续)
···········
- 第一章 数据库概述、MySQL的安装和配置
第一章 数据库概述.MySQL的安装和配置 1.为什么要使用数据库 最早是纸质文件来存储数据 缺点:不易保存,占用空间大 计算机出现以后,采用软件来进行保存(excel) 缺点:容易损坏 文件 ...
- 《Mysql 公司职员学习篇》 第一章 小A的烦恼
第一章 小A的烦恼 ----- 为什么学习数据库 和 如何选择数据库 小A是某公司的职员,公司数据部的员工,平常的大小工作,完全离不开EXCELL,而最近小A却越来越苦恼,不由的向好朋友小Y吐槽.小 ...
- Mysql必知必会 第一章 了解SQL
第一章 了解SQL 1.1 数据库基础 1.1.1 什么是数据库 数据库的定义:保存有组织的数据的容器 数据库软件不是数据库,而是DBMS 1.1.2 表 表(Table)的定义:某种特定类型数据的结 ...
- 高性能MySQL(第4版) 第一章 MySQL架构 读书笔记
这本书去年11月出的,今年中文版也出了,并且直接上了微信读书,之后有空就读一读,分享下读书笔记~ 原文内容比较充实,建议有时间可以读一下原文. 第一章主要是个概览. MySQL的逻辑架构 默认情况下, ...
随机推荐
- Mac配置jdk以及maven
一 Mac配置JDK和Maven 1.安装成功jdk后 2.打开终端后,输入vim ~/.bash_profile 3.输入: export MAVEN_HOME=/usr/local/maven/a ...
- java常用的正则表达式的工具类
import com.google.common.base.Strings; import java.util.regex.Matcher;import java.util.regex.Pattern ...
- 执行scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysqldb命令时一直报错:
Can't locate Data/Dumper.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /u ...
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-3.微信Oauth2.0交互流程讲解
笔记 3.微信Oauth2.0交互流程讲解 简介:讲解微信Oauth2.0交互流程 参考:https://open.weixin.qq.com/cgi-bin/sho ...
- IPv6 ping命令
IPv6 ping命令 一.Linux操作系统 给一台 Linux 主机分配了一个 IPv6 的 IP地址,如何使用 ping命令 确定该 IP地址 能否 ping 通呢? 1.查看主机的 IPv6 ...
- hostname -i 出现0.0.0.0解决
[root@hostnametest4 ~]# hostname -i 0.0.0.0 原因:是因为四个节点中其中一个节点没有配置hosts解析,必须每个节点写全这四个ip,只要掉一个ip就会出现0. ...
- DevOps - DevOps工具链
不要满足于使用世界上已存在的各种方法和技术,而应重点放在希望达到的效果上! 单单使用工具不难,困难的是在团队开发中熟练使用,并形成一套理想的工作流程,只有在团队中工具和思想才能发挥最大价值. 开源工具 ...
- CSRF类型
按照请求类型来区分.分为:GET类型和POST类型 按照攻击类型分类,CSRF可分为:HTML CSRF攻击,JSOM HiJacking攻击和FIash CSRF攻击 HTML CSRF攻击 HTM ...
- BasePage基础页面的封装
Paget Object设计模式,不多说,但在接触了poium测试库后,个人感觉BasePage都是多余的..但在次还是做个记录 class Page(): def __init__(self, dr ...
- 【图像处理】H.264开源解码器评测
转自:http://wmnmtm.blog.163.com/blog/static/38245714201142883032575/ 要播放HDTV,就首先要正确地解开封装,然后进行视频音频解码.所以 ...