php基本语法

PHP

  • PHP 一门后端语言

PHP 基础语法

  • 我们一定要知道,php 是另一个语言了,不再是我们的 html / javascript 了
  • 一个别的语言就有人家语言的规则

php文件

  • 我们在写 javascript 的时候,是一个 .js 文件
  • 我们在写 html 的时候,是一个 .html 文件
  • php 的代码写在一个 .php 后缀的文件中

php文件的书写

  • 所有的 php 代码都要写在一个 php 的范围内
  • 要求以 <?php 开头
  • 要求以 ?> 结尾
      <?php
      
        # php 的代码写在这里
        
      ?>

简单了解 php 的语法

  • 每个语言都会有自己的语法
  • 接下来我们就简单了解一下 php 的语法规则
  • php 里面有一个必须要注意的点 每一个语句后面都要有 ;

定义变量

  • 在 php 中没有 var 关键字给我们定义变量
  • 直接使用 $ 来确定一个变量
   <?php
      	
        # 下面就是一个定义了一个变量,并且赋值为 100
        # 变量名就是 $num
        $num = 100;
        
        $boo = true;
        
        # 下面是一个字符串
        $str = "你好 php";
        
      ?>

输出语句

  • echo 输出
    $num=100;
    echo $num;//100
  • var_dump 输出
    n u m = 100 ; v a r d u m p ( num=100; var_dump( num=100;vardump(num);//int(100)
  • print_r输出
    n u m = 100 ; p r i n t r ( num=100; print_r( num=100;printr(num);//100
    注:echo只能输出基本数据类型的数据,不能输出数组
    print_r既可以输出基本数据类型的数据,也可以输出数组
    var_dump可以输出任意数据类型,同时也输出该数据的数据类型

条件语句

  • 在 php 中使用条件语句和 js 基本一致
      <?php
        
      $boo = true;
      
      if ($boo) {
        echo '你好,欢迎观临!';
      } else {
        echo '您还没有登陆';
      }  
        
      ?>

循环语句

  • 在 php 中循环语句和 js 基本一致
      <?php
      //处理中文编码问题
      header('content-type:text/html;charset=utf-8;')    
      $num = 5;
        
      for ($i = 0; $i < $num; $i++) {
        echo 'hello php';
      }
        
      ?>

字符串拼接

  • 在 php 中,字符串拼接不再是使用 + 进行拼接了,而是使用 . 进行拼接
  • 单引号不能解析变量
  • 双引号可以解析变量
    $str = 'hello ';
    $str2 = ‘world’;
    $str3 = $str . $str2;
    echo $str3;
    # 得到的就是 hello world

数组

  • 在 php 中的数组和 js 中特别不一样
   <?php
      
        # 创建一个数组
        $arr = array(1, 2, 3);
      
        print_r($arr);
        # Array ( [0] => 1 [1] => 2 [2] => 3 )
        # 这个就类似于我们 js 中的数组,按照索引来的
      
        # 创建一个关联数组
        $arr2 = array('name' => 'Jack', 'age' => 18, 'gender' => '男')
        print_r($arr2)
        # Array ( [name] => Jack [age] => 18 [gender] => 男 )
        # 这个就类似于我们 js 中的 对象,键值对的形式
        
        //php转换json格式使用方法:
        #json_encode()  =>把自己的数据类型转成json格式的字符串
        #json_decode()  =>把json格式的字符串转成自己的数据类型  
        var_dump(json_encode($arr2));//string(42) "{"name":"Jack","age":18,"gender":"\u7537"}"
      ?>


MYSQL

  • mysql 是一个数据库的名字

  • 和 php 合作的比较好的数据库

  • 之前我们说过一个问题,前端向后端索要数据,后端就是去数据库中查询数据,返回给前端

  • 接下来就聊聊使用 php 操作数据库

    MySQL 是最流行的关系型数据库管理系统(非关系型数据库简略介绍)
    关系数据库管理系统(Relational Database Management System)的特点
    数据以表格的形式出现
    每行为各种记录名称
    许多的行和列组成一张表单
    若干的表单组成database
    主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。

数据库的数据类型

* 数值类型

| 类型 | 大小 | 用途 |
| ------ | ------ | ------ |
| TINYINT | 1 字节 | 小整数值 |
| SMALLINT | 2 字节 | 大整数值 |
| MEDIUMINT | 3 字节 | 大整数值 |
| INT或INTEGER | 4 字节 | 大整数值 |
| BIGINT | 8 字节 | 极大整数值 |
| FLOAT | 4 字节 | 单精度 浮点数值 |
| DOUBLE | 8 字节 | 双精度 浮点数值 |
| DECIMAL |  | 小数值 |

* 日期和时间类型

| 类型 | 格式 | 用途 |
| ------ | ------ | ------ |
| DATE | YYYY-MM-DD | 日期值 |
| TIME | HH:MM:SS | 时间值或持续时间 |
| YEAR | YYYY | 年份值 |
| DATETIME | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
| TIMESTAMP | YYYYMMDD HHMMSS | 时间戳 |

* 字符串类型

| 类型 | 大小 | 用途 |
| ------ | ------ | ------ |
| CHAR | 0-255字节 | 定长字符串 |
| VARCHAR | 0-65535 字节 | 变长字符串 |
| TINYBLOB | 0-255字节 | 不超过 255 个字符的二进制字符串 |
| TINYTEXT | 0-255字节 | 短文本字符串 |
| BLOB | 0-65 535字节 | 二进制形式的长文本数据 |
| TEXT | 0-65 535字节 | 长文本数据 |
| MEDIUMBLOB | 0-16 777 215字节 | 二进制形式的中等长度文本数据 |
| MEDIUMTEXT | 0-16 777 215字节 | 中等长度文本数据 |
| LONGBLOB | 0-4 294 967 295字节 | 二进制形式的极大文本数据 |
| LONGTEXT | 0-4 294 967 295字节 | 极大文本数据 |

操作数据库

  • 接下来我们就是使用 php 链接 mysql 数据库进行数据的增删改查
  • 想要操作数据库,除了需要 php 的语法以外,还需要一个 mysql 的 sql 语句
  • 使用 php 操作数据库的步骤
    1. 和数据库建立链接
    2. 使用 sql 语句对数据库进行操作
    3. 获取结果
    4. 和数据库的链接断开

和数据库建立链接

  • 在 php 中我们使用 mysql_connect() 方法来建立和数据库的链接
    <?php
    # 下面就是建立链接,$link 会得到一个链接信息
    # $link = mysql_connect(‘ip地址’, ‘数据库用户名’, ‘数据库密码’);
    ?>
    • 我们有了链接信息 $link 以后就可以继续去操作数据库了

确定操作哪个哪个库

  • 刚才是和数据库建立了链接,我们还要确定操作哪个库
    <?php
    # 下面就是确定你要操作哪个库
    # mysql_select_db(‘你要操作的库的名称’, $link);
    ?>

执行 sql 语句操作数据库

  • 接下来就是使用 sql 语句去这个库里面进行增删改查的操作了
      <?php
        # 下面就是使用 sql 语句对数据库进行操作
        # $res = mysql_query('你要执行的 sql 语句');  
        #设置mysql的编码为utf8  
        # mysql_query("set names 'utf8'")  
      ?>
  • 这里有一个注意的点:
    • 我们拿到的结果是一个我们看不懂的处理信息
    • 需要使用 mysql_fetch_row || mysql_fetch_assoc 解析一下结果才能看得懂
    • mysql_fetch_row():解析结果中的第一条数据,以索引型数组的形式返回
    • mysql_fetch_array ():解析结果中的第一条数据,以组合型数组的形式返回,就是把字段名称+值全部放在数组里
    • mysql_fetch_assoc():解析结果中的第一条数据,以关联型数组的形式返回
    • 因为PHP给我们提供的方法只能解析一条,因此我们需要自己去解析后面的内容
    • 这些方法在执行第二次时,都会从上一次结束的位置开始

关闭链接

  • 全部用完以后我们最好是关闭一下数据库链接
      <?php
        # mysql_close($conn);
      ?>

完整步骤

  • 我们完整的写一下操作的步骤
      <?php
        #可以把公共代码专门放在一个php文件中,然后引入
        #include  引入一个php文件
        #include  '引入文件的相对路径'  
        $conn = mysql_connect('localhost', 'root', 'root');
        mysql_select_db('test1913');
        $res = mysql_query('SELECT * FROM `student`');
        $row = mysql_fetch_assoc($res);
        mysql_close($conn);
      
        print_r($row);
      #die():报错时的提示
      #mysql_error():数据库出错时的问题信息
      #array_push(指向添加内容的数组,添加的内容)
      //格式化输出数组内容
      //echo "<pre>";
      //print_r($arr1);
      //echo "<pre>";
      ?>

常用的 sql 语句

  • 刚才说了怎么操作数据库
  • 现在我们学习一下,操作数据库时候常用的 sql 语句
  • 我们就是依靠这些 sql 语句来进行数据库操作的

sql语句的语法规范:

  • sql 关键字大写
    • 表名和字段名建议使用``包裹

  • 查询语句
    <?php
        # 查询 student 这个表里面的所有数据
        $sql = 'SELECT * FROM `student`';
          
        # 查询 student 表中的数据里面 gender 为 男 的数据
        $sql = 'SELECT * FROM `student` WHERE `gender`="男"';
          
        # 查询 student 表中的数据里面 age 大于 18 的数据
        $sql = 'SELECT * FROM `student` WHERE `age`>18';
          
        # 查询 student 表中的数据里面 age 大于 18 且 gender 为 男 的数据
        $sql = 'SELECT * FROM `student` WHERE `age`>18 AND `gender`="男"';
      
        # 查询 student 表中的数据里面 age 小于 22 或者 age 大于 28 的数据
        $sql = 'SELECT * FROM `student` WHERE `age`<22 OR `age`>28';
      
        # 查询 student 表中的数据里面从 第几条开始 查询多少条
        $sql = 'SELECT * FROM `student` LIMIT 0, 10';
          
        # 先按照条件筛选出数据以后再进行分页查询
        # 下面是查询表中所有 age>18 且 性别为男的所有数据,查出来以后从第 10 条开始查 10 条
        $sql = 'SELECT * FROM `student` WHERE `age`>18 AND `gender`="男" LIMIT 10, 10';
      
        # 查询表的模糊查询
        # 下面表示查询表中所有数据里面 name 字段中包含 "三" 字的数据
        $sql = 'SELECT * FROM `student` WHERE `name` LIKE "%三%"';
      
        # 查询排序,查询的时候按照某一个字段升序或降序排序
        $sql = 'SELECT * FROM `student` ORDER BY `age` ASC';
        $sql = 'SELECT * FROM `student` ORDER BY `age` DESC';
      ?>

  • 增加语句
      <?php
        # 向表中增加一条数据,再增加的时候主键不能由我们书写,而是 mysql 数据库自己递增
        $sql = 'INSERT INTO `student` VALUES(null, "张三", 18, "男", 1913, 100)';
          
        # 插入固定几个键的数据,其他的用默认值
        $sql = 'INSERT INTO `student` (`name`, `age`) VALUES("李四", 22)';
      ?>

  • 删除语句
     <?php
        # 删除表中 id 为 100 的数据
        $sql = 'DELETE FROM `student` WHERE `id`=100';
      
        # 删除表中 name 为 张三 的数据
        $sql = 'DELETE FROM `student` WHERE `name`="张三"'
      ?>

  • 修改语句
      <?php
        # 更新一条 id 为 100 的数据中的 name 字段的值和 age 字段的值
        $sql = 'UPDATE `student` SET `name`="张三", `age`=10 WHERE `id`=100'
          
        # 更新数据的时候让所有的数据增加一些内容
        $sql = 'UPDATE `student` SET `age`=age+1'
      ?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

blueSky-fan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值