一,服务器环境搭建

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的更多相关文章

  1. 第一章 初识Mysql

    Mysql是一个开放源代码的数据库管理系统(DBMS),它是由MySQL AB 公司开发.发布并支持的. 登录 -- mysql #本地登录,默认用户root,空密码,用户为root@127.0.0. ...

  2. 第一章:mysql的介绍与安装

    什么是数据库管理系统 1)管理数据(增删改查) 2)存储数据 数据库管理系统的分类 1)关系型数据库(rdbms) 典型产品:mysql,oracle,mariadb,mssql(sqlserver) ...

  3. 【第一章】MySQL数据概述

    安装部署 备份恢复主备复制读写分离HA架构分布式数据库压力测试性能优化自动化运维 ==数据的存储方式1. 人工管理阶段2. 文件系统阶段3. 数据库系统管理阶段 ==数据库技术构成1. 数据库系统 D ...

  4. 《高性能mysql》笔记(第一章,mysql的架构与历史)

    mysql的服务器逻辑架构图如下: 目前工作用的5.5版本,5.5版本开始mysql开始将innoDB作为默认的存储引擎,innoDB的表是基于聚簇索引建立的. mysql的存储引擎锁管理非常重要,在 ...

  5. 第一章 初识MySQL(待续)

    ···········

  6. 第一章 数据库概述、MySQL的安装和配置

      第一章 数据库概述.MySQL的安装和配置   1.为什么要使用数据库 最早是纸质文件来存储数据 缺点:不易保存,占用空间大 计算机出现以后,采用软件来进行保存(excel) 缺点:容易损坏 文件 ...

  7. 《Mysql 公司职员学习篇》 第一章 小A的烦恼

    第一章  小A的烦恼 ----- 为什么学习数据库 和 如何选择数据库 小A是某公司的职员,公司数据部的员工,平常的大小工作,完全离不开EXCELL,而最近小A却越来越苦恼,不由的向好朋友小Y吐槽.小 ...

  8. Mysql必知必会 第一章 了解SQL

    第一章 了解SQL 1.1 数据库基础 1.1.1 什么是数据库 数据库的定义:保存有组织的数据的容器 数据库软件不是数据库,而是DBMS 1.1.2 表 表(Table)的定义:某种特定类型数据的结 ...

  9. 高性能MySQL(第4版) 第一章 MySQL架构 读书笔记

    这本书去年11月出的,今年中文版也出了,并且直接上了微信读书,之后有空就读一读,分享下读书笔记~ 原文内容比较充实,建议有时间可以读一下原文. 第一章主要是个概览. MySQL的逻辑架构 默认情况下, ...

随机推荐

  1. Mac配置jdk以及maven

    一 Mac配置JDK和Maven 1.安装成功jdk后 2.打开终端后,输入vim ~/.bash_profile 3.输入: export MAVEN_HOME=/usr/local/maven/a ...

  2. java常用的正则表达式的工具类

    import com.google.common.base.Strings; import java.util.regex.Matcher;import java.util.regex.Pattern ...

  3. 执行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 ...

  4. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-3.微信Oauth2.0交互流程讲解

    笔记 3.微信Oauth2.0交互流程讲解     简介:讲解微信Oauth2.0交互流程              参考:https://open.weixin.qq.com/cgi-bin/sho ...

  5. IPv6 ping命令

    IPv6 ping命令 一.Linux操作系统 给一台 Linux 主机分配了一个 IPv6 的 IP地址,如何使用 ping命令 确定该 IP地址 能否 ping 通呢? 1.查看主机的 IPv6 ...

  6. hostname -i 出现0.0.0.0解决

    [root@hostnametest4 ~]# hostname -i 0.0.0.0 原因:是因为四个节点中其中一个节点没有配置hosts解析,必须每个节点写全这四个ip,只要掉一个ip就会出现0. ...

  7. DevOps - DevOps工具链

    不要满足于使用世界上已存在的各种方法和技术,而应重点放在希望达到的效果上! 单单使用工具不难,困难的是在团队开发中熟练使用,并形成一套理想的工作流程,只有在团队中工具和思想才能发挥最大价值. 开源工具 ...

  8. CSRF类型

    按照请求类型来区分.分为:GET类型和POST类型 按照攻击类型分类,CSRF可分为:HTML CSRF攻击,JSOM HiJacking攻击和FIash CSRF攻击 HTML CSRF攻击 HTM ...

  9. BasePage基础页面的封装

    Paget Object设计模式,不多说,但在接触了poium测试库后,个人感觉BasePage都是多余的..但在次还是做个记录 class Page(): def __init__(self, dr ...

  10. 【图像处理】H.264开源解码器评测

    转自:http://wmnmtm.blog.163.com/blog/static/38245714201142883032575/ 要播放HDTV,就首先要正确地解开封装,然后进行视频音频解码.所以 ...