服务器和客户端
客户端 程序: 通过浏览器直接运行
服务器 程序: 通过安装某种服务器软件   程序才可以运行
             apache   php文件
             tomcat   jsp文件
             iis      .asp文件   .net
 
服务器文件必须在某种协议下运行   http 和  https      默认端口号  80
 
页面输出
echo  
    能够输出一个及以上的字符串
print
    只能输出一个字符串,且始终返回1
注意:echo比print快,因为没有返回值
 
php语法
语法规范:
   1、语句结束后必须有 分号
   2、严格区分大小写 
   3、所有的标点符号都是英文半角状态
 
变量定义 
   1、必须使用$开始
   2、字符串和变量之间可以用(.)拼接
   3、php中的双引号可以自动识别变量
 
三大结构  
  顺序  
  选择   if     switch
  循环   for  while  do...while() 以小括号结尾要加分号
 
数组 
  索引数组 
    用下标取值(从0开始)
    数组长度用count($arr)表示
  关联数组  
    "键"=>"值"
    根据键取值 
  多维数组
    数组嵌套数组
print_r()打印整个数组
 
函数
 
客户端如何向服务器请求
1、表单的name属性传值
2、超链接的url路径传值
3、ajax向服务器传递数据
4、jsonp请求接口
 
 php 服务器如何接受前端数据
$_GET[]   接收通过get方式请求的数据
$_POST[]  接收通过post方式请求的数据
$_REQUEST[]  既可以接收get方式  也可以接收post方式请求的数据  
 
php生成动态网页的原理  
服务器操作数据的更新过程,这样的数据就是动态生成的数据   数据显示到页面后,这样的网页也叫动态网页
当服务器解析到的是html文件时,直接返回至浏览器解析服务器返回的数据
当服务器解析到的是php文件时,会继续进入php解析器中,在返回到服务器直至返回浏览器解析服务器返回的数据
 
php如何将一个数组转成json  
json_encode() 将php的数组转成json对象  (一般数组是一个关联数组)  返回json对象
 
xss 攻击  
什么是xss  : 跨站脚本攻击  cross site scripting    为了不和层叠样式表混淆,叫做xss
用户输入一些具有特定含义的字符  数据提交到服务器上,这些特殊的字符可以被服务器识别
 
如何解决 : 
    前端正则 (不能彻底解决xss攻击问题 :  内行编程者会将html代码复制到另一个页面上   实现攻击效果 )
    最好解决办法:后端验证  (去掉标签)   在php中通过 strip_tags(要去掉标签的元素) 函数去掉标签
    
 
数据库 mysql
数据库 
    存放数据的仓库   U盘   硬盘
       数据库中存放的数据都是被结构化的数据 
    mysql语句中不分大小写
 
常见数据库语言 
    sqlServer    mysql      oracle     db2      
 
结构化 
    数据库中的数据 就是以表格的形式存在的   
    表格是由行和列组成
 
字段
    每一列的标题
 
表数据
    标题的对应的内容
 
关系型数据库
    数据库由多张表构成   每一个表示由多行多列组成
 
存放数据
第一步:创建数据库
    create database 数据库名
 
第二步: 创建表
    create table 表名
    (
       字段名  类型,
       字段名  类型,
       ....     
    )
 
第三步: 
    对表中的数据进行 “增   删   改   查”
       "增删改" 返回的是受影响的行数
    增
        insert into 表名(字段1,字段2,...)values(值1,值2,...)   
        主键自增的字段数据忽略不填  如果值的类型是字符,值必须加引号
    删
        delete from 表名 where 条件
        条件说明:
        表示等于  用  =
        表示并且   用 and
        表示或者   用  or
        如果条件字段值是字符  必须加引号
    改 
        update 表名 set 字段=新值,字段=新值 where  条件
 
    查 
        select * from  表名    查询表所有字段数据
        select 字段名,字段名2 from  表名   查询指定字段
    
数据类型 :
    int  表示整型数据(数值型)  默认长度是(11)
    char(100)  表示字符类型     varchar(100)    字符类型必须提供长度值  
主键 
    primary key  
    一般一张表中的 编号 字段为主键
特点 
    数据不能重复(具有唯一性)
    不能为空
    一般主键是自增的  auto_increment
如何设置主键:
        create table 表名
        (
            sid int primary key  auto_increment  sid字段为   主键  并且是自增的
        )       

php基础和数据库的更多相关文章

  1. JPBM4.4基础及数据库说明

    JPBM4.4基础及数据库说明 对jBPM4.4数据库的几张表简单介绍: A.资源库和运行时表结构 JBPM4_DEPLOYMENT   流程定义表                           ...

  2. mysql基础篇 - 数据库及表的修改和删除

    基础篇 - 数据库及表的修改和删除         修改和删除 一.实验简介 本节实验中,我们将学习并实践如何对数据库的内容做修改,删除,重命名等操作. 二.实验准备 在正式开始本实验内容之前,需要先 ...

  3. Vc数据库编程基础MySql数据库的表查询功能

    Vc数据库编程基础MySql数据库的表查询功能 一丶简介 不管是任何数据库.都会有查询功能.而且是很重要的功能.上一讲知识简单的讲解了表的查询所有. 那么这次我们需要掌握的则是. 1.使用select ...

  4. Vc数据库编程基础MySql数据库的表增删改查数据

    Vc数据库编程基础MySql数据库的表增删改查数据 一丶表操作命令 1.查看表中所有数据 select * from 表名 2.为表中所有的字段添加数据 insert into 表名( 字段1,字段2 ...

  5. Vc数据库编程基础MySql数据库的常见库命令.跟表操作命令

    Vc数据库编程基础MySql数据库的常见操作 一丶数据库常见的库操作 1.1查看全部数据库 命令:  show databases 1.2 创建数据库 命令: Create database 数据库名 ...

  6. Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)

    day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库:    简称:DataBase ---->DB    数据库即存放数据的仓库, ...

  7. .NET面试题解析(11)-SQL语言基础及数据库基本原理

      系列文章目录地址: .NET面试题解析(00)-开篇来谈谈面试 & 系列文章索引 本文内容涉及到基本SQL语法,数据的基本存储原理,数据库一些概念.数据优化等.抱砖引玉,权当一个综合复习! ...

  8. SQL基础之数据库

    1.基础概念 首先要强调一点,就是我们的数据库是由数据库系统来管理的,我们登入数据库并在其上进行操作时最终均要通过数据库系统来完成.可以理解成在数据库上进行操作的是客户端,数据库系统是服务端.一个数据 ...

  9. mongodb基础系列——数据库查询数据返回前台JSP(二)

    上篇博客论述了,数据库查询数据返回前台JSP.博客中主要使用Ajax调用来显示JSON串,来获取其中某一个字段,赋给界面中的某一个控件. 那这篇博客中,我们讲解,把后台List传递JSP展示. Lis ...

  10. mongodb基础系列——数据库查询数据返回前台JSP(一)

    经过一段时间停顿,终于提笔来重新整理mongodb基础系列博客了. 同时也很抱歉,由于各种原因,没有及时整理出,今天做了一个demo,来演示,mongodb数据库查询的数据在JSP显示问题. 做了一个 ...

随机推荐

  1. iOS GameCenter 接入

    iOS GameCenter  iTunes Connect 设置 首先,申请一个应用程序,不必提交.目地是为了得到Bundle ID.    然后设置一下工程中Info.plist的Bundle i ...

  2. Adaboost新理解

    Adaboost有几个难点: 1.弱分类器的权重怎么理解? 误差大的弱分类器权重小,误差小的弱分类器权重大.这很好理解.在台湾大学林轩田老师的视频中,推导说,这个权值实际上貌似梯度下降,权值定义成1/ ...

  3. Android Studio - 安卓开发工具 打开后报错集合、修复指南

    安卓开发工具错误修复 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心创新 ...

  4. HDU 3342:Legal or Not(拓扑排序)

    Legal or Not Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tot ...

  5. 使用Reaction cli 创建应用

    默认简单跑起来,我们可以直接使用docker,同时官方也为我们提供了cli 工具,可以快速的创建应用 安装cli npm install -g reaction-cli 初始化项目 reaction ...

  6. 命令行net time同步时间(内网)

    首先还是推荐大家使用Internet时间来同步自己计算机的时间,这样做主要是方便,就是设置一个ntp服务器,我推荐下面的三个ntp服务器地址. time.asia.apple.com //亲测有效 a ...

  7. shrink_to_fit

    // string::shrink_to_fit#include <iostream>#include <string> int main (){ std::string st ...

  8. Python函数 dict()

    dict() 作用:dict() 函数用于创建一个字典.返回一个字典. 语法: class dict(**kwarg) class dict(mapping, **kwarg) class dict( ...

  9. java中Thread类分析

    创建线程的方式有三种,一是创建Thread实例,二是实现Runnable接口,三是实现Callable接口,Runnable接口和Callable接口的区别是一个无返回值,一个有返回值:不管是Runn ...

  10. 【转】每天一个linux命令(45):free 命令

    原文网址:http://www.cnblogs.com/peida/archive/2012/12/25/2831814.html free命令可以显示Linux系统中空闲的.已用的物理内存及swap ...