<?php
Day1
互联网:
       网络和网络之间的通信连接
网站发展历程:
      web1.0 特点:只能从网站获取一些信息,没有动态交互(静态网站)
      web2.0 特点:有动态交互,评论、点个赞,关注(动态网站)
      web3.0 特点:数字化,服务型(支付宝,小黄车,扫码)
php:
    是什么:客户端脚本语言(客户端:坐在电脑前的人
            脚本语言:自动执行,自动编译)
    为什么:
           1》开源产品,可以看源码
           2》免费:人人可以使用
           3》跨平台:windows、linux系统、apache/niinx web服务器
           4》支持多种数据库:mysql、sqlserver、oracle
           5》简单易学:代码简单
           6》运行速度快
 软件:
      指的是电脑应用,桌面上的东西(杀毒、打字、聊天软件)
      分类:
         bs:浏览器+服务器端
            特点:只需打开浏览器,输入网址即可访问(淘宝,京东)
         cs: 可短+服务器端
            特点:必须下载应用(电脑上是客户端,手机上是app)(陌陌,qq,酷狗)
         应用领域:

中小型网站的开发                    web应用系统开发
         大型网站的业务逻辑结果展示          多媒体系统开发
         Web办公管理系统                     企业级应用开发
         硬件管控软件的GUI
         电子商务应用
day2
   http协议:
           超文本传输协议
           传音频、文档、图片、视频
   网站:
      静态网站:
          客户端发送请求(http请求)到web服务器 web服务器已文本的形式返回响应客户端
      动态网站:
          客户端发送请求(http请求)到web服务器 web服务器操作数据库,数据库把数据返给web服务器
          web服务器再返回给客户端
  环境搭建:wamp
                  w:windows:  操作系统 xp、win7、win8、win10
                  a: apache: web服务器
                  m: mysql 数据库
                  p: php语言
             lamp
                  l:linux操作系统
                  a: apache: web服务器
                  m: mysql 数据库
                  p: php语言
步骤:
   1》先安装web服务器 apache
       D://wamp/apache
       三大目录:
             bin 程序命令目录
             conf 配置文件目录conf/http.conf (apache的配置文件)
             htdocs 网站访问根目录(就是咱们写代码的地方)
       注意:只要修改配置文件里的东西都要重启apache
   2》安装php (安装完php立即重启apache)
      D://wamp/php
         1》安装php的要加载apache2
         2》php的配置文件: php/php.ini
         3》怎么做:
             1 新建一个php页面:
                在apache/htdocs/下建一个xxx.php的文件
             2 怎么显示报错信息
                在php/php.ini display_errors 中的Off 改为 On
             3 改默认时区
                在php/php.ini date.timezone 中的;去掉 加上PRC
             改完配置文件里的东西也要重启apache
             4 php开始
               <?php

//输出
                  echo
                  //防止中文乱码
                  header("content-type:text/html;charset=utf8");
                  //换行
                  echo "<hr/>" echo "<br/>";
                  //注释
                  // 单行
                  /*
                   *  多行
                   */
                  //php信息
                  phpinfo();
                  //结尾不能
                  以英文分好结尾
                  //声明一个变量
                  //要求:
                  //    不能以数字开头,只能以下划线,字母开头
                  //    不能有特殊字符
                  //    见名识意
                  //    连接2个词语中间用_隔开
                  $变量名 = "值";
                  //连接2个字符串
                  .
                  //写法:
                       if(条件)
                       {

}
                       else
                       {

}

if(条件){

}else{

}
                 // = 赋值(后面赋值)
                 // == 判断是否相等(类型相同,值相同)
                 // === 全等
                 //表格快捷键
                 center>table>tr*2>td*3 按tab键

?>
day3
  1>php8大数据类型
     一 四种标量
       ①整型(整数)                            int
       ②浮点型(小数点)                        float
       ③字符型(由单引号''或双引号""包起来)    string
       ④布尔型(真或假 true/false)           bool
    二 二种特殊
       ⑤资源  resource
       ⑥空    null
    三 二种复合
       7 数组  array
       8 对象  object

输出:
   1 echo :只能输出字符串的东西
   2 print_r:字符串,数组都ok 但是不能输出数据类型
   3 var_dump:字符串,数组,数据类型,数据长度

常量:
   一旦定义就不发生改变的量
   定义常量:
            define("常量名","要给常量的值");
    常量和变量的区别:
        常量一旦定义不改变占据内存空间,变量经常改变,程序执行完后,变量自动释放内存

函数:
    isset(要检测的变量) 检测变量是否设置
    unset(要销毁的变量) 删除或销毁不必要的变量
    empty(要检测的变量) 判断变量是否为空

预定义变量:
   $_REQUEST  接受全部数据 以数组的形式展示出来
   $_GET      接值
   $_POST     接值
   $_SERVER   获取服务器信息

get 和 post的区别:
    ①post传值比较安全,没有通过地址栏传递
     get 通过地址栏传递,不是很安全
    ②不写method 默认get传递
     写method="post" 通过post传
     method 传值方式 action 提交地址

辅助函数:
  die  终止程序 用于改错
  exit 终止程序 用于改错
  @ 屏蔽报错信息 但是错误依然存在

值传递:
  赋值:     就是两个变量间的赋值传递,一方的改变不会影响另一个变量的值
  地址传递: 就是两个变量间的加上&赋值传递,一方的改变会影响另一个变量的值
              共同占据一个空间
赋值运算符: = 赋值
             == 判断前后是否相等
             += 将右边的值加给左边
             -= 将右边的值减到左边
             % 取余
             .=  将右边的字符加到左边
             /= 将左边的值厨艺右边
逻辑运算符:
            && and 所有的都条件都满足才为真
            || or  只要有一个条件为真 等式就成立
            ! 不满足、不是、否(你真我假)
运算符:
       >   大于
       <   小于
       >=  大于等于
       <=  小于等于
跳转方法:
   1》带有秒数自动跳转
      echo "要写的内容";
      header("refresh:2;url=要跳转的页面");
   2》弹框跳转
      echo "<script>alert('要写的内容');location.href='要跳转的页面'</script>"
   3》超链接跳转
      echo "<a href='要跳转的页面'>要写的内容</a>";
注意:
   内单外双 "''" 对       单套单 '''' 错
   内双外单 '""' 对       双套双 """" 错

day4
   三大结构:
       1》顺序机构:
                一步步执行,没有分支,后者会覆盖前者
       2》选择结构:
                if()                  switch()

{
                if(){                      case "条件":
                                           结果 break;
                                      }
                }else{

}

if(){

}else if(){

}else{

}
        3》循环结构
             for(初始值;结束值;步长)
             {

}
              while(条件)
              {

}
              //以上两个先判断再循环
            do{

}while(条件)     //先执行 在判断循环
函数:
   分类:
       系统函数:
               不需自己定义,拿过来直接使用,unset(参数),implode(),explode()
       自定义函数:
               自己定义,自己调用自己定义的函数
               定义:
                   function 函数名(形参1,形参2)
                   {
                       函数体
                       返回值(返回值返哪:哪调用返哪)
                   }
              调用:
                   函数名(实参1,实参2)
              函数功能:
                       1》1处多用
                       2》实现特定功能
                       3》这个月目标,用函数封装数据库

Day 5
字符串定义:
         由单引号或双引号包起来的字符串
         $str = ''
         $str = ""
         $str = <<<定义的字符串名字
                给定义的字符串赋的值
         定义的字符串;
        单引号:不解析变量   $str='12345'   echo '$str'   //输出 $str
        双引号:解析变量     $str='123456'  echo "$str"   //输出 12345
关于字符串长度的:
    strlen(要查询长度的字符串) 返回值 是int 长度 eg: 7
关于字符串查找的:
    strpos(要查找的字符串,要查找的字符) 返回值是int 该字符在字符串中首次出现的位置
    strrpos(要查找的字符串,要查找的字符) 返回值是int 该字符在字符串中最后一次出现的位置
关于字符串截取的:
    substr(要截取的字符串);  返回值 是截取后的字符串 特点:全都截取了 ,原来是啥 ,截取完后还是啥
    substr(要截取的字符串,开始截取位置) 返回值 是开始截取位置到最后的字符串
    substr(要截取的字符串,开始截取位置,截取长度) 返回值 是开始截取位置到规定的截取长度之间
关于字符串替换的:
   substr_replace(要替换的字符串(你要在哪换),你要换成啥,从哪开始换,要换多长) 返回值
                  是替换后的字符串
   str_replace(要换啥,换成啥,要替换的字符串(你要在哪换))
验证邮箱是什么类型思路:
  1》先找@出现的位置
  2》再找.出现的位置
  3》截取@到.之间的字符
隐藏手机号:
  1》字符串替换 substr_replace("13115454133","<font color='red'>****</font>",3,5);
变红:
  2》str_replace("赵温柔","<font color='red'>赵美丽</font>","八维以北,赵温柔最美")
注意: $str = "hello";
      h 0
      e 1
      l 2
      l 3
      o 4
Day5
   php验证:
       验证用户输入的是否正确如果正确就继续走,展示不正确给出错误提示返回添加页面重新添加
   注意:
      html表单页面要写for循环语句
      <?php
      for($i=1;$i<=10;$i++)
      {
      ?>
      要循环的东西
      <?php
      }
      ?>

数组定义:
      一堆数据的集合(数字,字符串等组成)
      分类:
           索引数组:
                    下标全都是数字的数组称为索引数
           关联数组:
                    下标只要有一个是字符串的数组称为关联数组
      分为:
          一维数组、二维数组、多维数组
一维数组:
        $arr = array("hello","world","lisa")   数组间用,隔开
       单个取值
       $arr[下标]
       删除
       unset($arr[下标])
       改
       $arr[下标] = "要改的值";
       循环取值
       ①
       for($i=0;$i<count($arr);$i++)                               获取数组的长度  count(数组)
       {
           echo $arr[$i];
       }
       ②
       foreach($arr as $key=>$val)
       {
                                                                   $key就是键就是下标
           echo  $val                                              $val 是下标所对应的值
       }
二维数组:数组里的键又套一层数组
        $arr = array("hello","world","lisa",array())   数组间用,隔开
       单个取值
       $arr[外层下标][里层下标]
       删除
       unset($arr[外层下标][里层下标])
       改
       $arr[外层下标][里层下标] = "要改的值";
       循环取值
       ①
       for($i=0;$i<count($arr);$i++)                               获取数组的长度  count(数组)
       {
           if(is_array($arr[$i]))
           {
               for($j=0;$j<$arr[$i];$j++)
               {
                    echo $arr[$i][$j]
               }
           }else{
             echo $arr[$i];
           }                                                        is_array(要检测的字符串)
       }
获取当前时间的时间戳
time()
将时间戳转化为年月日,时分秒
date("Y-m-d H:i:s",要转化的时间戳);

Day7
  关联数组:
          不管是几维数组,只要下标有字符串的数组就是关联数组
  定义一维关联数组:
     $arr = array("username"=>'值',"age"=>'值')  关键字:=> 键值和键值之间用,隔开
  查询一维关联数组
     $arr['username'];
  删除一维关联数组的键值
     unset($arr['username']);
  追加一维关联数组的键值
    $arr['hobby'] = 值
  修改一维关联数组的键值
    $arr['username'] = 你要改的值
  循环取一维关联数组的值
  foreach($arr as $key=>$val)
  {
      $val 就是值
      $key 就是键就是下
  }
定义二维关联数组:
     $arr = array(array("username"=>'值',"age"=>'值'),
                  array("username"=>'值',"age"=>'值'),
                  array("username"=>'值',"age"=>'值'),
                 )  关键字:=> 键值和键值之间用,隔开
  查询二维关联数组
     $arr[外层下标]['username'];
  删除二维关联数组的键值
     unset($arr[外层下标]['username']);
  追加二维关联数组的键值
    $arr[外层下标]['hobby'] = 值
  修改二维关联数组的键值
    $arr[外层下标]['username'] = 你要改的值
  循环取二维关联数组的值(先循环取外层,在循环取内层的值)
  foreach($arr as $key=>$val)
  {
      $val 是一维关联数组
      $key 是外层的键
      foreach($val as $k=>$v)
      {
          $k 是一维关联数组的键
          $v 是一维关联数组的值  
      }

}
  总结:取二维数组的值就是二维变一维2层foreach
索引数组和关联数组取值的区别:
   索引数组取值可以用for/foreach
   关联数组取值只能用foreach

Day6
   数组函数:
          从属于系统函数
      将数组分割成字符串
         implode(分割符,要分割的数组) 返回值是分割完后的字符串
      将字符串拼接成数组
         explode(分割符,要拼接的字符串) 返回值是拼接后的数组
      获取数组的键
         array_keys(数组)  返回值是数组的键(也是数组)
      获取数组的值
         array_values(数组) 返回值是数组的值(也是数组)
      将数组合并
        array_merge(要合并的数组) 返回值是合并后的数组
      将数组排序
        sort(要排序的数据) 返回值是true或false 输出你排序的数据就是最新数组
      根据数组的值返回数组的键
        array_search(值,数组) 返回值如果找到该值返回键 否则返回false
      查看一个数组是否存在该键
        array_key_exists(键,数组) 返回值 是true 或 false
      求数组元素个数/数组长度
       count(数组) 返回值是数组长度 int型
        将数组键和值互换位置
        array_flip(数组) 返回值是换过后的数组
Day7
   数组之间的相互转化
      二维变一维:foreach{} 要是循环取数据就再来一层
      eg:
          $arr3=array(
            array("username"=>"小明","sex"=>"男","age"=>"20") ,
            array("username"=>"小白","sex"=>"男","age"=>"16") ,
            array("username"=>"小黑","sex"=>"男","age"=>"22") ,
        );
        echo "<table border=1px>";
        echo "<tr><td>姓名</td><td>性别</td><td>年龄</td><td>电话</td></tr>";
        $arr3[0]['telephone']="123";
        $arr3[1]['telephone']="rerw";
        $arr3[2]['telephone']="rewre";
        //二维变一维
        foreach($arr3 as $key=>$val)
        {
          $val['username'] = str_replace("小", "<font color='red'>小</font>", $val['username']);
          $val['age'] = 23;
          //$val['telephone'] = "17701263468";
          echo "<tr>";
          //循环取一维数组里的值
          foreach ($val as $k => $v)
           {
            echo "<td>";
            echo $v;
            echo "</td>";
           }
          echo "</tr>";
        }
        echo "</table>";
一维变二维:
      1》写foreach
      2》定义一个新数组$data
      3》找规律往$data填东西
      eg:
        $u_id = 2;
        $a_id = array(2,3,4);
         foreach($a_id as $key=>$val)
         {
             $key  012
             $val  234
             $data[$key]['u_id'] = $u_id;
             $data[$key]['a_id'] = $val;
         }
         
二维变三维:
      1》写foreach
      2》定义一个新数组$data
      3》找规律往$data填东西

eg:
         $arr = array(
          array("username"=>"耿红娟","age"=>24,"sex"=>"女"),
          array("username"=>"申忠龙","age"=>23,"sex"=>"男"),
          array("username"=>"李朋","age"=>25,"sex"=>"男"),
          array("username"=>"张立伟","age"=>30,"sex"=>"男"),
          );
        //二维变三维
        foreach ($arr as $key => $value) {
          //首先把值赋给一个新的变量
          $v = $value;
          unset($v['sex']);
          $data[$value['sex']][] = $v;

}

特点:如果要是有连续的下标 一般是$key键
      如果下标断续的话 给一个空数组[]
Day8
   doc命令 (小黑框命令行)
   1 打开命令行 windows+r
   2 进入cmd
   3 进入mysql命令行 mysql -uroot -proot
   4 查看自己的所有库 show databases;
   5 创建一个数据库 create database 库名;   eg:create database 1510phpe;
     选择数据库 use 数据库名 eg:use 1510phpe
   6 查看所有表 show tables;
   7 创建表 create table 表名(
                     数据库字段 数据存储类型,
                     )
     eg:
        create table user(
                  id int auto_increment,
                  username varchar(50),
                  password char(30),
                  age int,
                  sex char(30),
                  date datetime
                 );
   8 查看表会多一个表 show tables; 会多出一个user表
   9 对user表进行操作
      1>向表里添加数据
        insert into 表名(字段1,字段2...) values(值1,值2...);
        eg:
        insert into user(username,password,age,sex,date) values('shuai','123456','16','man','2017-03-18');
      2>查询表里的数据
        全查:
        select * from 表名
        eg:
        select * from user;
        查一部分字段所对应的值
        select 字段1,字段2 from 表名
        eg:
        select username,password from user;
      3>向表里修改数据
        update 表名 set 字段1=值1,字段2=值2 where id = 你想要改的id
        eg:
        update user set username ='ugly',age = '18',sex='girl' where id = 1;
      4>在表里删除数据
        delete from 表名 where id = 你要删除的id
        eg:
        delete from user where id = 1;
  删除数据库:
   drop database 库名
   eg:
   drop database 1510phpe;
  删除表
   drop table 表名
   eg:
   drop table user;
Day9
  mysql一表:
      添加:insert into 表名(字段1,字段2...) values ('值1','值2'...)
      查询:select * from 表名;              // 查所有
           select 字段1,字段2 from 表名     //查指定字段
           select * from 表名 where id = 1  //查询id=1的数据一般用于修改里
      删除:delete from 表名   //清空表里的数据
           delete from 表名 where id in(1,2,3) //删除id为123的数据
           delete from 表名 where id = 1       //删除id为1的数据
      修改:
          update 表名 set 字段1='值1',字段2='值2'... where id = 2

mysql二表:
      添加:insert into 表名(字段1,字段2...) values ('值1','值2'...)
      查询:select * from 主表 inner join 次表 on
           主表的关联id=次表的自增id;              // 查2表所有所有
           select 两表字段名 from 主表 inner join 次表 on
           主表的关联id=次表的自增id;             //查2表指定字段
           select * from 主表 inner join 次表 on
           主表的关联id=次表的自增id  where id = 主表或次表的id     //

查询id=1的数据一般用于修改里
      删除:delete from 表名   //清空表里的数据
           delete from 表名 where id in(1,2,3) //删除id为123的数据
           delete from 表名 where id = 1       //删除id为1的数据
      修改:
          update 表名 set 字段1='值1',字段2='值2'... where id = 2
排序:          
order by:
   用在哪:最贵、最便宜、最大、最小
   怎么用:order by id desc
           order by id asc (默认)
条件:
where
  用在哪:姓名里有某某、删除、修改、查询等只要有判断条件的
  怎么用:
         where id = 1;
         where name like '%张三%';
         where add_time > 2017-03-22
         等
限制条数:
limit
  用在哪:取前几条,取数据的范围,分页里
  怎么用:
        limit 0,3  从第一条开始取 取三条数据
        limit 3    从第一条开始取 取三条数据
        limit 2,5  从第三条开始取 取五条数据

区间:
between and
  用在哪:范围、区间、按照开始时间到结束时间搜索、或者大于xxx小于aaa的区间
  怎么用:
      where add_time between 2017-03-19 and 2017-03-22
      where num between 3 and 100

模糊查询:
like
  用在哪:查询名字里带张,或者带三啊或者搜索(一般用于汉字)
  怎么用:
     where name like '%张%'; 匹配姓张的
     where name like '_张%' 匹配第二个姓张的
     % 匹配任意多个字符 _匹配任意一个字符
例子:
  1、两表联查,查询出所有的图书信息
  select * from book inner join type on book.t_id = type.type_id
  2、查询出小说分类下的所有图书信息
  select * from book inner join type on book.t_id = type.type_id where type_name = '耽美'
  3、将图书价格在10到20之间的图书名称修改为西游记
  update book set book_name = '西游记' where book_price between 10 and 20
  4、查询出图书名称或者图书描述中包含有aaaa的图书信息
  select * from book inner join type on book.t_id = type.type_id where book_name like '%西游记%' or book_desc like '%一个女人%'
  5、查询出分类名称是名著或者作者姓张的图书信息
  select * from book inner join type on book.t_id = type.type_id where type_name = '金庸' or book_author like '%张%'
  6、将张三发布的图书信息删除\
  delete from book where book_author = '张三'
  7、查询出最贵的三件图书信息
  select * from book inner join type on book.t_id = type.type_id  order by book_price desc limit 3
  8、将图书作者中包含”三“或者商品价格在2元以上的图书名称修改为红楼梦
  9、update book set book_name = '红楼梦' where book_author like '%三%' or book_price > 20
  10、查询出图书单价在6元以上且分类名称是散文的图书信息,从第三条取,取5条
  select * from book inner join type on book.t_id = type.type_id where book_price > 6 and type_name = '金庸' limit 3,5
  11、查询出图书名称为“西游记”的分类为耽美的图书作者
  select book_author from book inner join type on book.t_id = type.type_id where book_name = '西游记' and type_name = '都市'
  12、将图书价格大于20或者图书作者包含“王”的图书信息删除
  delete from book where book_price > 20 or book_author like '%赵%'
  13、查询出图书分类属于耽美,价格在5到15之间,姓李的发布的图书信息
  select * from book inner join type on book.t_id = type.type_id where type_name = '耽美' and book_price between 5 and 30 and book_author like '%李%'
  14、将图书名称中第二个字是”游“或者单价小于2的图书描述改为“aaaaa”
  update book set book_desc = 'aaaa' where book_name like '_游%' or book_price < 2
  15、查询出最便宜的图书信息,从第2条取10条
  select * from book order by book_price asc limit 1,10
  16、查询出图书分类为散文,图书价格在2到5之间,图书名称或者图书描述包含“中国你好”的最便宜的三件商品
  17、select * from book inner join type on book.t_id = type.type_id where book_price between 2 and 100 and (book_name like '%宇%' or book_desc like '%宇%') order by book_price asc limit 3
  18、将表数据清空
  Delete from 图书表

Day10:
php操作mysql
   一表:
     查询列表:1个页面 show.php
              1连库
              2选库
              3设置字符集
              4写查询的sql语句
              5执行查询的sql语句得到资源的数据类型
              6定义一个空数组
              7循环取把资源变成数组的数据 while循环 mysql_fetch_assoc(
                                                    资源)
              8把一维空数组变成二维数组(把循环取的值赋给二维数组)
              9遍历表格(二维变一维)
      添加: 2个页面 add.php add_do.php
             add.php
              写:
                 表单
             add_do.php
              写:
                1连库
                2选库
                3设置字符集
                4接值(接收添加传来的值)
                5写添加的sql语句
                6执行添加的sql语句得到布尔(true/false)的数据类型
                7判断条件为真跳到列表页
                 判断条件为假跳到添加页
      删除: 1个页面 delete.php
              1接收删除id
              2连库
              3选库
              4设置字符集
              5写删除的sql语句
              5执行删除的sql语句得到布尔(true/false)的数据类型
              6判断条件为真跳到列表页
               判断条件为假跳到列表页
      修改: 2 个页面 update.php update_do.php
             update.php
               写:
                  1>接收列表传来的修改id
                  2>连库
                  3>选库
                  4>设置字符集
                  5>根据传来的修改id写查询本条数据(为了给表单默认值)
                  6>执行sql语句判断类型
                  7>得到资源类型吧资源变成数组(不用循环)
                  8>修改表单

注意:修改表单和添加表单的区别:
                  1>修改表单有默认值 value
                  2>修改表单要写隐藏域 传修改id (input type="hidden"
                     value="<?php echo $list['id']?>" name="id")
             update_do.php
               1>连库
               2>选库
               3>设置字符集
               4>接收修改传来的id和修改传来的数据
               5>写修改的sql语句
               6>执行修改的sql语句返回bool类型(true/false)
               7>根据true或者false给出提示跳转
    搜索:1个页面
        1>在列表页写搜索标签,写一个form表单
        2>form action="搜索页面"
        3>搜索页面:
           ①连库
           ②选库
           ③设置字符集
           ④接收搜索传来的条件
           ⑤根据传来的搜索条件写搜索的sql语句
           ⑥执行搜索的sql语句
           ⑦定义空数组
           ⑧循环取数据赋给空数组里
             关键字变红:
               字符串替换
               foreach($arr as $key=>$val)
               {
                  $red = "<font color='red'>".张三."</font>";
                  $arr[$key]['username'] = str_replace('张三',$red,$val['username'])
               }
Day11
跳转4种方式:
   1>弹框跳
   echo "<script>alert('登录成功');location.href='show.php';</script>";
   2>超链接跳
   echo "<a href='show.php'>删除失败,点击返回</a>";
   3>几秒后自动跳
   echo "删除成功,2秒后跳转";
   header("refresh:2;url=show.php");
   4>直接跳
   header("location:show.php");
封装函数的思想:
  1>建一个公共页面db.php
  2>在公共页面里写公共函数
    function connect()
    {
       连库
       选库
       设置字符集
    }
    function select($sql)
    {
       执行sql语句
       定义空数组
       循环取数据把资源变数组赋给空数组里
       返回空数组(此时空数组不空了) 返回值返哪,哪调返哪
    }
    function select_one($sql)
    {
        函数名()
        执行sql语句
        返回将资源转成数组的数组
    }
    function delete($sql)
    {
      返回执行的sql语句
    }
    function update($sql)
    {
      返回执行的sql语句
    }
    function add($sql)
    {
      返回执行的sql语句
    }
php页面调用:
   1引入
      当前文件夹引入:
               include "./db.php";
               include "db.php";
      上一级文件夹引入:
               include "../0327/db.php";
      上一级的上一级引入:
               include "../../0327/db.php";
  2>调用函数
      函数名()

注意:state
             作用:状态改变
             用在哪:上架、下架---通过、驳回、正在申请中---
                    回收站列表、和普通列表---代付款、已取消、已完成、退款待审核等等
            值:0/1/2/3/4....
会话控制:
    http协议:超文本传输协议(传输音频、视频、文本、图片)是一种无状态协议
              不会记录用户访问信息
    cookie:
         用在哪:跨页面传值(跨页面存取)
                 防止非法登录,一个页面登录,下个页面直接用
        怎么做:
              存
               setcookie("要存的名字","要存的值")-------会话cookie
               setcookie("要存的名字","要存的值",过期时间)--------持久cookie
               取
               $_COOKIE["要存的名字"];
               删除cookie(退出)
               setcookie("要存的名字","",time()-1);

php入门数组和基本增删改查的sql资料相关推荐

  1. android 入门 006(sqlite增删改查)

    android 入门 006(sqlite增删改查) package cn.rfvip.feb_14_2_sqlite;import android.content.Context; import a ...

  2. Vue 脚手架结合 SpringBoot 构建前后端分离入门项目(实现增删改查)

    Vue 脚手架构建前后端分离项目 项目简介与预览 数据库建表 主要模块代码 index.js 路由代码 User.vue 用户组件 RAP2 创建接口进行测试 切换路由组件的显示: this.$rou ...

  3. VisualStudio2013内置SQLServer入门(二)--增删改查

    前一篇 http://www.cnblogs.com/qixi233/p/4766451.html 这篇是sqlserver的操作 界面比较走心哈哈哈,将就着看,主要就是下面增删改查四个btn 对于s ...

  4. 【java版数据结构】看完数据结构的顺序结构后,紧接着去实现ArrayList的底层(150行代码,数组扩容,增删改查,但未实现迭代器)

    实现效果: 需求分析: 可以看到ArrayList容器有很多功能,在指定位置添加元素,在容器末尾添加元素,获取指定位置的元素,获取容器的大小,清空容器的元素,判断容器是否是空的,删除指定位置的元素,删 ...

  5. 安卓增删改查用sql语句号码_详解Android中一些SQLite的增删改查操作

    在Android开发中经常要涉及到对数据的操作.Android本身提供了四种数据存储方式.包括:SharePreference,SQLite,Content Provider,File. 在Andro ...

  6. unity网络实战开发(丛林战争)-前期知识准备(011-c#连接数据库并实现增删改查以及sql注入问题)

    使用工具:VS2015,Mysql 使用语言:c# 作者:Gemini_xujian 参考:siki老师-<丛林战争>视频教程 继上一篇文章内容,这节课讲解一下数据库的前期连接准备以及通过 ...

  7. 微信小程序——数组对象的增删改查

    微信小程序--数组对象的增.删.改.查 1.模拟数据的初始化定义 data: {type_name: '项目分类',name_name: '项目名称',type_sId: "",n ...

  8. 数据库操作(增删改查)sql语句

    1.什么是SQL? Structured Query Language:结构化查询语言 其实就是定义了操作所有关系型数据库的规则.每一种数据库操作的方式存在不一样的地方,称为"方言" ...

  9. JS数组操作之增删改查

    JS提供了很多方便操作数组的方法,本文所要分享的就是如何快速对数组进行增.删.改.查. 一.增 1.push() 可接收任意数量的参数,把它们逐个添加至数组末尾,并返回修改后数组的长度.例如: var ...

最新文章

  1. 《MongoDB管理与开发精要》——1.4节本章小结
  2. 苹果手机怎么清理听筒灰尘_安卓 | 让手机自动清理听筒扬声器灰尘,你试过了吗?...
  3. android+使用bmob冲突,bmob开发android遇到的问题
  4. [.NET] 《Effective C#》快速笔记(三)- 使用 C# 表达设计
  5. The content of element type configuration must match (properties?,settings?,typeAliases?,typeHand...
  6. Android工程中添加图片资源
  7. 克隆你的声音,可能只需要5秒钟:MockingBird实现AI拟声 (详解)
  8. linux link 硬链接,Linux系统中的硬链接(hard link)与软链接(symbolic link)
  9. API文档打开显示'已取消到该网页的导航'的解决方法
  10. JavaScript大师Nicholas C. Zakas又一大作出中文版了
  11. 深空时代来临,探日究竟有何魔力?
  12. 瑞吉外卖01-项目整体介绍
  13. 网络基础之DNS、网关
  14. 专访Coinup创始人罗一哲:集中全社会资源猛攻,要么是垄断能量,要么是泡沫催发
  15. 为知笔记Markdown笔记里的插入代码怎么实现/为知笔记怎怎么插入代码段
  16. 基于watermark.js给图片添加水印
  17. matlab 中图的大小_关于matlab绘图中字体及图片大小等的设置
  18. 2020年工业用微型计算机,2008年10月自考工业用微型计算机真题及答案
  19. 指针数组和数组指针有什么区别?
  20. 当你全力以赴世界也会为你让路,23级人大女王金融硕士准备中

热门文章

  1. python脚本接收参数 中文乱码_python 中文乱码问题深入分析
  2. mysql数据导入乱码怎么办_MYSQL导入数据时出现乱码怎么办
  3. 华为设备linux ssh登录失败,华为交换机SSH登录失败原因
  4. php xxe注入,php xxe 攻击
  5. 聊聊大促秒杀系统设计
  6. c语言与python的相同点_Python和C语言的语法区别(一)
  7. python和c语言有什么关系-python和c语言的主要区别总结
  8. 【电子取证篇】文件签名
  9. Python中使用flatmap
  10. NCTF2021 Misc的一点点wp