• PHP和MySQL


    第一章  PHP快速入门

     一、什么是PHP

      PHP是一种服务器端脚本语言,在一个HTML页面中可以嵌入php代码,这些代码在每次页面被访问时执行,PHP代码将在服务器中被解释生

    二、什么是MySQL

      MySQL是一个快速而又健壮的关系数据库管理系统,一个数据库将允许你高效地存储、搜索、排序和检索数据,

      MySQL服务器控制对数据的访问,而确保多个用户可以并发使用,

    三、PHP标记

      PHP代码是以"<? php"开始,"?>"为结束,可以告诉web服务器php代码的开始和结束,可以隔离php代码和HTML代码.

      四种标记风格,推荐使用第一种

      1、xml风格

        <?php echo '<p>order process</p>'; ?>:服务器管理员不能禁用这种标记。

      2、简短风格

        <? echo '<p>order process</p>'; ?>:

      3、SCRIPT风格

        <script language='php'>echo '<p></p>';</script>

      4、asp风格

        <% echo '<p></p>'; %>

    四、注释

      /* .... */

    五、添加动态的内容

      <?php

        echo "<p>order processed at";

        echo date('H:i, JS F Y');

        echo "</p>";

      ?>

      可以使用连接符"。"将其写在一行中.

      <?php

        echo "<p>order processed".date("H:i JS F Y")."</p>";

      ?>

    六、访问表单变量

      php可以用变量的形式访问表单域,其中变量名必须与表单域的名称一致,3种方法来访问

      php的变量声明:$名称,$tireqty

      $_POST['表单name']

      $_GET['表单name']

    七、字符串的链接

      使用" . "来链接字符

      echo $tireqty. "tires<br>";

    八、PHP的数据类型

      1、int:整数  2、float:浮点  3、string:字符串  4、boolean:布尔  5、array:数组  6、object:对象

      7、NULL:空  8、resource:资源(存储如图片,文件)

    九、类型的转换

      $totalqty = 0;

      $totalmount = (float)$totalqty;  // 将整型转换成浮动类型

    十、变量、常量

      $trieqty:一个变量的声明,$+name    // 一般系统定义的变量名以下划线开头如$_POST

          可变变量:

          $aa = "bb";

          $bb = "aa";

          ehco  $$bb;   // 输出bb

      define("TIREPRIC', 100):常量的声明

    十一、操作符

      1、算术操作符:+、-、*、/、%

      2、比较操作符:==、=、===、!=、!==、<>、>、<、<=、>=

      3、逻辑操作符:!、&&、 ||、

              and、or、xor  与!、&&、 ||、相同就是优先级较低

      4、类型操作符:instanceof

        calss sampleClass();

        $myObject = new sampleClass();

        if($myObject instanceof sampleClass){

          // 如果对象myobject是sampleClass类的对象返回真

        }

    十二、number_format():获取小数点后几位

      $num = 1230.0234

      echo number_format($num, 2)  // 输出1230.02;

    第二章  数据的存储与检索

    一、保存数据

      存储数据有两种基本方法:1、保存到普通文件  2、保存到数据库中

    二、文件处理

      数据写入文件步骤:1、打开这个文件,如果不存在先创建   2、将数据写入这个文件  3、关闭这个文件

      从文件中读数据步聚:1、打开文件  2、从文件中读出数据  3、关闭这个文件

      1、打开文件fopen()函数

      $fp = fopen("$DOCUMENT_ROOT/orders.txt", "w");

      2、选择文件模式

        打开一个文件有以下3种选择

        a、打开文件为只读、只写或者读和写

        b、如果要写一个文件,你希望覆盖所有的文件内容

        c、如果希望在一个区分了二进制方式和纯文本的系统上写一个文件

    第三章  使用数组

    一、创建数组

    1、创建一

    1 $arr = array("tires", "oli", "spank");
    2 $len = count($arr);
    3 
    4 echo $len;
    5 
    6 for($i=0; $i<$len; $i++){
    7     echo $arr[$i]."<br>";
    8 }

    2、创建二

     1 $arr = array("tires"=>100, "oli"=>10, "spank"=>"name");
     2 
     3 foreach($arr as $value){
     4     echo $value."<br>";   // 获取值
     5 }
     6 
     7 $arr = array("tires"=>100, "oli"=>10, "spank"=>"name");
     8 
     9 foreach($arr as  $i => $value){
    10     echo $i."<br>";       // 获取键
    11 }

    3、创建多维数组

    1 $arr = array(array("111", "2222", "333"), array("aaa", "bbb", "ccc"));
    2 $len = count($arr);
    3 
    4 for($i=0;$i<$len;$i++){
    5     for($k=0;$k<$nLen=count($arr[$i]);$k++){
    6         echo $arr[$i][$k]."<br>";
    7     }
    8 }

    第五章   代码重用与函数编写

    一、使用require()和include()函数

           可以将一个文件载入到php脚本中,这个文件包含在脚本中输入的内容,其中包括php语句、文本、html标记、php函数或php类.

           require()与include()基本相同,区别在于函数失败后,require()函数将给一个致命错误,而include()只是给出一个警告

    第六章  面向对象编程

    一、类的定义和属性、方法

     1 class showName {
     2     var $name = "aaaa";
     3     function sayName(){
     4         echo $this->name;
     5     }
     6 }
     7 
     8  调用:
     9 
    10  include("showName.php");
    11 
    12 $getName = new showName;
    13 
    14 echo $getName->sayName();

    二、访问修饰符

           1、public:公用

           2、private:私有

           3、protected:声明的属性和方法在类外部调用是不可以的,但可以在继承中使用

    三、构造函数

           构造函数,当创建一个对象时,它将自动调用构造函数,有初始化的作用。__construct

    1 class showName {
    2     var $name = "哈哈调用到了";
    3     function  __construct (){
    4         return $this->name;
    5     }
    6 }

     

    四、析构函数

           析构函数,在销毁一个类之前执行一些操作或完成一些功能,

           一个类的析构函数的定义必须是,__destruct();

     1 class className{
     2     var $name = "siguang";
     3     function __construct($param){
     4         echo "parameter:".$param;
     5     }
     6  
     7     Function __destruct(){
     8         echo $this->name."再见!<br>";
     9     }
    10 }
    11 
    12 $aa = new className("aaa");

     

    五、实例化一个参数的对象

    1 class className{
    2     function __construct($param){
    3         echo "parameter:".$param;
    4     }
    5 }
    6 
    7 $aa = new className("aaa");

     

    六、使用类的属性

           在一个类中可以访问一个特殊的指针-$this,如果访问属性是$attribute时可以$this->attribute来引用

           从外部访问属性

    七、继承

           使用关键字“extends”

      class  B  extends A{

                  // B继承了A 类

      }

    例:

     1 class ClassA{
     2     var $name = "aa";
     3     function getName(){
     4         echo $this->name;
     5     }
     6 
     7     function __set($name, $value){
     8         if($name === "name"){
     9             $this->name = $value;
    10         }
    11     }
    12 }
    13 
    14 class ClassB extends ClassA{
    15     var $your = "siguang";
    16     function showName(){
    17         echo $this->name."<br>";
    18         echo $this->your;
    19     }
    20 }
    21 
    22 $ObjB = new ClassB;
    23 $ObjB->showName();

     

    八、继承使用private和protected访问修饰符控制可见性

           Private和protected访问修饰符来控制需要继承的内容,如果一个属性或方法被指定为private它将不能被继承,如果被指定为protected,它将在类外部不可见,但可以在继承中

     1 class ClassA{
     2     private $name = "siguang";
     3     protected $age = "30";
     4 }
     5 
     6 class ClassB extends ClassA{
     7     function showInfo(){
     8         echo $this->name."".$this->age;
     9     }
    10 }
    11 
    12 $getClass = new ClassB();
    13 $getClass->showInfo();          // 只能输出 30,$name为私有

     

    九、重载

    十、PHP的面向对象高级功能 

           1、使用Per-Class常量

                  class Math{

                         const  pi = 3.1415926;           // 定义常量

    }

                  Echo  Math::pi                        // 调用常量的方法使用::

           2、实现静态方法

                  使用static来声明,静态方法就是在没new出对象的时候就可以直接调用的方法,

                  使用::来调用

                  class Math{

              public $name = "aa";

              const pi = 3.1415;

              static function squared($inp){

                  return $inp * $inp;

              }

         }

          // 调用

         $getVal = Math::squared(10);

         echo $getVal;

           3、检测类的类型和类型提示

                  使用instanceof关键字允许检查一个对象的类型

                  ($b  instanceof  B) 返回true或false;

           4、克隆对象

                  $c = clone $b;            // 将创建的b对象复制赋给c一份

    十一、实现迭代器

    第八章  web数据库

    一、关系数据库的概念

           1、表格:关系数据库由关系组成,这些关系 通常称为表格,一个表格就是一个表。

           2、列、行、值:

           3、键、外键:标志表中的一列称为主健,在其它表中也出现相同的主键,称为外键。

           4、模式:数据库整套表格的完整设计称为数据库的模式,一个模式应该显示表格及表格的列、每个表的主键和外键

           5、关系:外键表示两个表格数据的关系,

    四、php语句:

    1、echo:将字符串打印到浏览器中.

     

    第九章  MySQL 数据库

    一、了解MySQL数据库管理系统

      1、基于数据库的PHP:系统可以管理用户、栏目、图片、文章、评论都存储在数据库中

      2、MySQL的架构:C/S   服务器的端口3306

      3、PHP程序员需要学习哪些数据库操作:

          DBA:数据库管理员

          PHP程序员:1、为项目设计表    2、使用SQL语句

      4、MySQL安装和启动:Linux和window的安装  和php的整合

    二、MySQL的结构:

      1、my.ini是MySQL的配置文件

      2、data:所有数据库的目录,每个库都有创建的表

      3、bin:MySQL所有命令目录

    三、集成环境AppServ和APMServer

      1、APMServer:可以开启服务器直接使用,是图形化的集成环境

      2、AppServ:开启Apach需要在window系统开始/程序/cont..../Apach start开启或停止

    四、启动MySQL

      1、在开始/程序中启动

      2、在window服务中启动

      3、在命令行启动net  start mysql     关闭 net stop mysql

      4、查看MySQL是否是启动状态:命令 service mysql status

      5、开启MySQL服务:service mysql start 

      6、停止MySQL服务:service mysql stop

    五、MySQL数据库操作

      mysql在window环境变量下 

      命令行下的操作:

      1、连接数据库:mysql -h 服务器地址(localhost)-u root -p

      2、关闭数据库:exit

      3、查看数据库状态:s

      4、查看配置文件中所有的变量:show variables

        -> ;

      5、查看目录下所有的库:show databases;

      6、创建数据库:create database rrgamedb;

      7、删除数据库:drop database rrgamedb;

      8、创建表:create table 指定库.新建表名(字段 id int, name char(30), age int);

            create table  if exists   tableName(id int, name char(10), age int, info char(100));    // if exists 如果表存在就不用在执行,创建库也需要这样

            这时库里会多出三个文件1、user.frm:保存表结构  2、user.MYD:保存索引  3、user.MYI:记录内容

      9、选择默认数据库: use 数据库  就会切换到哪个库做为默认的库,之后对操作表就可以不用加库的名

      10、查看库中的所有表:在先选择默认库后,show tables;

      11、查看表中的内容:desc user(表名);

      12、向表内插入数据:insert into  user values("1", "siguang", "30");

          插入指定字段,而不是全部需要在表的后面来指定字段

          insert into user(name, age) values("haha", "20");    // 插入指定字段

      13、查询表的内容:select * from user(表);  // 查询表的所有内容

                select * from user where id="20";    // 查看user表条件是id=20

      14、查看表的结构:desc tableName;

      15、更新和修改表内容:

        update 表名 set name="siguang.liu",age="30" where id="2" AND set ="男";    // 查询user表将条件是id=2和set=的条件,name字段等于siguang.liu,

       16、删除表的内容:

        delete from 表名;  

          delete form 表名 where id="2";    // 删除user表中的id=2的名段

      17、给数据库加密码:mysqladmin -u root -p 回车,在输入password

      其它关键字的意思:

      1、NOT NULL:表中所有行的属性必须有一个值,如果没有指定可以为NULL;

      2、AUTO_INCREMENT:在整数中使用,可以自动产生一个唯一的标识比现存的值更大,每个表中只有一个这样的值;

      3、PRIMARY KEY:列为主键,本列中输入必须是唯一,AUTO_INCREMENT,主键的自动索引功能将管理

      例:create  table soso(id int NOT NULL  AUTO_INCREMENT  PRIMARY KEY,   name char,  age  int);

      -------------------------------------------------------------------------------------------------

      1、DDL

        // 创建库、表

        create database 库名

        create table 库名.表名    use 库名

        

        // 删除库、表

        drop database 库名

        drop table 表名

      2、DML

        // 插入内容或指定字段插入内容

        inser into user values("1", "lulu", "hahha");

        inser into user("id", "name") values("2", "siguang");

        // 更新

        update user set name="aaaa" where id="1";    // 将user表中条件是id等于1的字段,将name修改成aaaa

        // 删除

        delete form user where id="2";   // 将id等于2的字段删除

      3、DQL

        // 查询表

        select * form user;

      4、DCL

        s 看状态

        show databases;  查看所有库

        show tables;     查看所有表

        desc user;      查看表结构

          show variables    查看配置文件的变量名

    第十章  使用PHP从web访问MySQL数据库

    一、php访问MySQL数据库的两种方法:

          有两种方法一个是php4之间的面向过程的,另一种是php5之后支持的面向对象的方式,使用mysqli类。

      1、面向对象访问mysqli

      2、面向过程

    第二十三章  在PHP中使用会话控制

    一、什么是会话控制

      会话控制的思想是指能够在网站中根据一个会话跟踪用户,可以使用cookie和session,$_SESSION超级全局变量

      会话的基本步骤:

        1、开始会话

        2、注册会话变量

        3、使用会话变量

        4、注销变量并销毁会话

      

    二、cookie

      cookie就是一小段信息,它由脚本在客户端机器保存,

      通过php设置cookie:使用setcookie()函数来手动设置cookie,可以通过全局$_COOKIE来实现

    PHP存储和获取cookie :

     1 // setcookie之前不允许有任何输出
     2 
     3 // 存储cookie
     4 setcookie("siguang", "liusiguang1983", time()+3600);
     5 
     6 // 获取cookie
     7 $getCookie = $_COOKIE["siguang"];
     8 
     9 // 删除cookie
    10 setcookie("siguang");
    11 
    12 echo $getCookie;

    三、session会话

      有cookie了为什么还要用session来跟踪用户信息呢,因为cookie存在客户端的文件中,session是服务器端保存的信息

      保存session的两种方法:1、存储到cookie中  2、通过url将session ID 带到下一个页面

    服务器向客户端发数据:先是状态、头信息然后在是内容

  • 相关阅读:
    UIView与CALayer的区别,很详细
    IOS图标尺寸一览
    iOS开发之WebView
    iOS开发之版本控制(SVN)
    IOS 多个ImageView图片层叠透明区域点击事件穿透
    UIButton
    UISwitch
    cocoapods_第二篇
    UIView
    IOS开发中 RunLoop,RunTime
  • 原文地址:https://www.cnblogs.com/couxiaozi1983/p/3149368.html
Copyright © 2020-2023  润新知