了解PHP

PHP是什么?

PHP能干什么?开发网站

输出一个属于自己的第一个PHP程序

<?
echo 'Hello World';
?>

<?php ?> 标识 [告诉你]

echo 'Hello World'; 代码

echo [指令] 输出

人人都会编程

<?php
	$sex = '男'	//变量 以$开头
    if($sex == '男'){
        echo '帅哥,进店来看看吧,有XXXX';}
	else{ echo '妹妹,我们店里有化妆品'; }
?>

变量 比较运算 分支语句

变量_变量是个盒子

变量就是个盒子存储东西的

$age = 18;
$age = 19;
echo $age;
$age = $age+1;
$age = 20;

变量命名名字

$ 标识

必须是字母 [ a-z A-Z ]、下划线、数字[ 0-9 ]名字,不能数字开头

运算符

运算符符号

加减乘除 取余 比较 大于等于 小于等于 不等于

%取余运算符 求得余数

控制结构

顺序结构 分支语句 循环语句

分支语句 [选择] if 语句

循环语句 while() 不断地做某件事

<?php
    $water = 1;
	while($water<6){
        echo '我喝了'.$water.'杯, 服务员再给我杯水吧<br/>';
        $water = $water + 1;
    }
	echo '谢谢,我喝了'.$water.'杯水,不渴了'
?>

.是连接符,将两个字符串相连。

字符串处理函数

字符串是什么 //字符串其实就是文本 代码

​ 单引号和双引号所包裹的东西就是字符串

单引号和双引号的区别

​ 当看到变量时,处理方式不同。双引号会看字符串是不是变量,如果是,将转换为这个变量的值,如果不是,直接输出。

<?php
	$a = 'b';
	$b = "$a";
	$c = '$a';

	echo $b;
	echo $c;
?>

结果为 b的值为b;b 的值为 b;b的值为bc 的值为 $a;

字符串处理函数

strstr() 字符串的匹配和寻找

该函数的含义是从字符串中找到想要的字符串并返回。

<?php
    $a = 'XXXX,Hello';
	echo strstr($a,'Hello');
?>

str_replace() 函数

把字符串 “Hello world” 中的字符 “world” 替换为 “Shanghai”

<?php
    echo str_replace("world","Shanghai","Hello world");
?>

数组

实际上是一排柜子

存东西

号码牌 标识

号码牌 Key 键 [独一无二的不会重复]

Key键 value值

<?php
    header("Content-Type:text/html;charset=utf-8");
    $a = array('001'=>'WEB安全','002'=>'逆向工程','003'=>'密码学');
	var_dump($a);	//输出变量a的数据类型,以及变量a的值
	echo $a[003];
    ?>

接收传参数据

$_GET [预定义全局变量] 预定义:不需要规定,全局变量:任何地方都可以调用。

image-20220618125441033

如何创建一个表单

image-20220618125608393

表单域

image-20220618125758840

image-20220618130021255

初识数据库

数据库是什么? 数据 仓库

数据库的结构:库、表、字段、记录

x张表组成一个库,表是由字段和记录组成的。字段就是列名,记录就是行

注意:英文分号结尾,代码部分大小写不敏感,但是数据敏感

数据库结构改变

知道自己现在自己的数据库有什么结构

show databases; 查看有什么库

show tables; 查看有什么表

use 库名; 进入库

desc 表名; 查看表的结构

改变自己数据库结构

建立数据库:create database 库名;

删除数据库:drop database 库名;

建立表:create table 表名(字段名 字段类型,字段名2 字段类型);

字段类型是什么?

就是字段的格式,例如 int 数字 [ 只能存储数字 ]

varchar 字符串 [ 能存储字符串 ] varchar(255) [ 能存储255个字符 ]

删除数据表:drop table 表名;

添加表里面的字段:

alter table 表名 add 字段名 字段类型;

删除表里面的字段:

alter table 表名 drop 字段名;

修改表内字段名:

alter table 表名 change 旧字段名 新字段名 新类型;

增删改查

插入数据(增):

insert into 表名 values(值,值);

insert into 表名(列名1,列名2) values(值1,值2);

查询语句:

select * from 表名 where 条件;

select 字段名 from 表名 where 条件;

修改数据:

update 表名 set 列名 = 新列值 where 列名 = 旧列名;

update 表名 set 列名 = 新列值,列名2 = 新列值 where 列名 = 旧列值;

删除数据:

delete from 表 where 列名 = 列值;

运算符和结果处理

结果排序:

order by 1; 排序第一个字段

order by 字段名; 排序写了字段名的这个字段

​ 默认升序 [ asc ]

​ 降序 [ desc ]

分页:

limit n,m;

​ limit 从那里开始,取多少行数据

多行数据一起输出

group_concat();

模糊查询:

like %a%; 查询包含a的所有值

like a%; 查询a开头的所有值

like %a; 查询a结尾的所有值

休眠函数:

sleep(2); 服务器进入摸鱼模式,故意拖2秒返回数据

查询当前所在库:

select database();

数学运算符号:

​ + - * / %

select 1+1;

逻辑运算符:

​ and 满足两个条件才可以

​ or 满足一个条件就可以

​ not 取反

联合查询和子查询

联合查询:

​ union 将两个查询语句的结果一起输出 [ 重复的不输出 ]

​ union all 将两个查询语句的结果一起输出 [ 重复也输出 ] 需要满足条件,相同 列数

子查询:

​ 在原本的SQL语句中写小括号,优先执行一个查询语句

select * from 表名 where password = (select uname from 表名 where id = 1);

PHP与数据库交互

正常网站:

​ 传参 -> PHP处理 -> 去数据库存东西获取东西 -> 显示数据

这里很核心的一步是PHP能够操作数据库,这里就需要用到 PHP 的 mysqli 扩展

这个扩展时操纵 mysql 数据库,自带的,可以理解为它是一些函数,当你看到一个函数时 mysqli_ 的适合一般都属于 mysqli 扩展。

​ Mysqli 扩展的核心就是 PHP 去操作数据库。

如何操作:

​ 建立链接:

mysqli i_connect(链接地址,账号,密码,库名)

​ =>$conn = mysql_connect('localhost','root','root','ck');

mysqli_select_db(链接,库名)

mysqli_select_db($conn,'fuli');

mysqli_query(链接,执行SQL语句)

$sql = insert into fm value(88,'PHP');

mysqli_query($conn,$sql);

<?php
	$conn = mysqli_connect('localhost','root','root','ck');
	//mysqli_select_db($conn,'ck');
	$sql = 'insert into fm value(\'wl\',20,\'nan\')';
	mysqli_query($conn,$sql);
?>

编写一个网页

$result = mysqli_query($conn,$sql);
mysqli_fetch_array($result);

将数据库执行的结果转化为数组

<?php
	$conn = mysqli_connect('localhost','root','root','ck');
	mysqli_select_db($conn,'ck');
	$sql = 'select * from fm';
	$result = mysqli_query($conn,$sql);
	var_dump(mysqli_fetch_array($result));
	echo "</br>";
	while ( $a = mysqli_fetch_array($result) ) {
	 	var_dump($a);
	 	echo "<br>";
	 } 
?>

前端页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>登录分数</title>
</head>
<body>
    <form action="test.php" method="POST">
        姓名<input type="text" name="name">
        <br>
        分数<input type="text" name="fenshu">
        <br>
        <input type="submit" value="提交">
    </form>
</body>
</html>

后端,将数据插入数据库中

<?php
	$name = $_POST['name'];
	$fenshu = $_POST['fenshu'];
	if ($fenshu<60) {
		$i = 2;
		echo 'No';
	}
	else{
		$i = 1;
		echo "Yes";
	}
	$conn = mysqli_connect('localhost','root','root','ck');
	mysqli_select_db($conn,'ck');
	$sql = "insert into fenshu value('$name',$fenshu,$i)";
	echo "<br>";
	echo "$sql";
	$result = mysqli_query($conn,$sql);
?>

后端,显示数据库中的信息

<?php
	$conn = mysqli_connect('localhost','root','root','ck');
	$sql = "select * from fenshu";
	//echo "<br>";
	//echo "$sql";
	$result = mysqli_query($conn,$sql);
	while($a = mysqli_fetch_array($result)){
		echo $a['name'].'	';
		echo $a['fs'].'	';
		if ($a['jg'] == 1) {
			echo 'Yes';
			echo '<br>';
		}
		else{
			echo 'No';
			echo '<br>';
		}
	}
?>
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐