PHP
php文件的书写
所有的 php 代码都要写在一个 php 的范围内
要求以 <?php 开头
要求以 ?> 结尾
<?php
# php 的代码写在这里
?>
简单了解 php 的语法
每一个语句后面都要有 ;
定义变量:直接使用 $ 来确定一个变量
<?php
# 下面就是一个定义了一个变量,并且赋值为 100
# 变量名就是 $num
$num = 100;
$boo = true;
# 下面是一个字符串
$str = "你好 php";
?>
条件语句
在 php 中使用条件语句和 js 基本一致
<?php
$boo = true;
if ($boo) {
echo '你好,欢迎观临!';
} else {
echo '您还没有登陆';
}
?>
循环语句
在 php 中循环语句和 js 基本一致
<?php
$num = 5;
for ($i = 0; $i < $num; $i++) {
echo 'hello php';
}
?>
字符串拼接
在 php 中,使用 . 进行拼接
$str = 'hello ';
$str2 = 'world';
$str3 = $str . $str2;
echo $str3;
数组
<?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 中的 对象,键值对的形式
?>
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 操作数据库的步骤
和数据库建立链接
使用 sql 语句对数据库进行操作
获取结果
和数据库的链接断开
和数据库建立链接
在 php 中我们使用 mysql_connect() 方法来建立和数据库的链接
<?php
# 下面就是建立链接,$link 会得到一个链接信息
# $link = mysql_connect('ip地址', '数据库用户名', '数据库密码');
?>
确定操作哪个库
<?php
# 下面就是确定你要操作哪个库
# mysqli_select_db('你要操作的库的名称', $link);
?>
执行 sql 语句操作数据库
使用 sql 语句去这个库里面进行增删改查的操作
<?php
# 下面就是使用 sql 语句对数据库进行操作
# $res = mysqli_query('你要执行的 sql 语句');
?>
这里有一个注意的点:
我们拿到的结果是一个我们看不懂的处理信息
需要使用 mysql_fetch_row || mysql_fetch_assoc
解析一下结果才能看得懂
关闭链接
全部用完以后我们最好是关闭一下数据库链接
<?php
# mysqli_close($conn);
?>
完整步骤
<?php
$conn = mysqli_connect('localhost', 'root', 'root');
mysqli_select_db('test1913');
$res = mysqli_query('SELECT * FROM `student`');
$row = mysqli_fetch_assoc($res);
mysqli_close($conn);
print_r($row);
?>
常用的 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'
?>