php相关操作
一、php介绍
php是一门后台编程语言,默认只能工作在服务器环境下,不能工作在浏览器环境,php文件不能在浏览器解析运行。php的解析过程: php文件必须在服务器环境下解析完成之后,才有可能在浏览器中呈现php发送的数据 。
服务器解析php的数据,正常解析,解析之后,交给前端时,默认全部转成字符
交互规则:前后端交互,只能交互字符(文本)
二、php的语法:
1、PHP 的注释
// 单行注释
/* */多行注释
2、PHP 的输出语法(发送数据的方式)
//echo,print是关键字
//print_r(),die()是方法;
echo "hello<br>";
print "php<br>";
print_r("hahahah");
die("hello1");
echo "hello2"; //执行到它,它后面的代码就不执行了
3、PHP 的变量(不需要提前声明,直接使用,但是默认情况下变量要使用$前缀)
$a = "hello";
echo $a;
4.php的数据类型(字符,整型,浮点型,布尔,对象,数组,NULL,资源型)
$a = "hello";
$b = 520;
$c = 520.1314;
$d = false;
$e = array(3,4,5,6);
$f = NULL;
echo $a;
echo "<br>";
echo $b;
echo "<br>";
echo $c;
echo "<br>";
echo $d; //为空
echo "<br>";
echo $f; //为空
echo "<br>";
echo $e; //Array
echo "<br>";
// 可以呈现数组或对象的细节
print_r($e); //Array ( [0] => 3 [1] => 4 [2] => 5 [3] => 6 )
// php中检测数据类型的方法
var_dump($e); //array(4) { [0]=> int(3) [1]=> int(4) [2]=> int(5) [3]=> int(6) }
4、PHP 的字符串拼接,不是+号
$str = "hello ";
echo $str."happy"."happiness"; //hello happyhappiness
5、PHP 的分支结构(与js中的分支语句是一致的)
if(){}
if(){}else{}
switch(){}
6、PHP 的循环结构(与js中的循环语句是一致的)
for($i=0;$i<10;$i++){
echo $i;
echo "<br>";
}
while(){}
7、PHP 的函数
function fn($a){
echo $a; //hello
return "world";
}
$str = fn("hello");
echo "<br>";
echo $str; //world
8、PHP 的数组
// 索引数组
$arr = array("hello","world",12,true);
echo $arr; //Array
print_r($arr); //Array ( [0] => hello [1] => world [2] => 12 [3] => 1 )
echo $arr[1]; //world
echo count($arr); //返回数组个数 4;
for($i=0;$i<count($arr);$i++){
echo $arr[$i];
echo "<br>";
}
echo "<br>"; //hello world 12 1
// 关联数组
$arr2 = array("name"=>"admin","age"=>18,"sex"=>"男");
print_r($arr2); //Array ( [name] => admin [age] => 18 [sex] => 男 )
echo "<br>";
echo $arr2["name"]; //admin
echo "<br>";
echo $arr2["age"]; //18
echo "<br>";
echo $arr2["sex"]; //男
echo "<br>";
9、PHP 的 json 格式转换
// json不属于js,json只是一种通用的数据格式
// json长得像js中的对象
// 几乎每个编程语言都有对json的支持
// 数组转json
$arr = array("hello","world",123,true);
echo json_encode($arr); //["hello","world",123,true]
$arr2 = array("name"=>"admin","age"=>18,"sex"=>"男");
echo json_encode($arr2); //{"name":"admin","age":18,"sex":"\u7537"}
// json转数组
$str = '{"name":"admin","age":18}';
print_r(json_decode($str)); //stdClass Object ( [name] => admin [age] => 18 )
10、PHP 的导入
include "hello.php";
echo $str;
11、对象,了解即可,咱们用不着
// php中的对象不能直接创建,需要配合类创建,不在php的学习范围内
class Obj{
var $name = "admin";
function show(){
echo "hello " . $this->name;
}
}
$o = new Obj();
echo json_encode($o); //{"name":"admin"}
print_r($o); //Obj Object ( [name] => admin )
$o->show(); //hello admin
// 注意:php每行代码的结束,都必须加分号
三、什么是数据库
数据的仓库,将数据,按照一定的规则,关系,类别,高效的组织或打包起来,使用某种方式管理维护,这就叫数据库。数据库一般来说,没有可视化数据,数据直接源码存储,为了操作数据库方便,由第三方开发了一种数据库管理软件,叫数据库管理系统。如:mysql。
四、什么是mysql
1、 数据库管理系统,用来管理数据的。 根据管理方式不同,数据库管理系统又可以分为两种:
(1) 关系型数据库:mysql
mysq 将数据表格化管理
行:记录
列:字段
表:数据表
库:数据库
管理:数据库管理系统
(2)非关系型数据库:…
2、 mysql自身其实也没有可视化管理界面,但是将数据可视化了, 需要使用mysql命令操作数据库。 由于麻烦,繁琐于是,又有第三方,开发了建立在mysql基础上的可视化管理界面的工具如:navicat,sql_front
五、如何使用php操作mysql
首先要先准备数据库,数据表,最好有字段,数据无所谓。要想操作数据库,必须得先连接数据库
根据php的不同版本,要使用不同的方式操作mysql(1)新版本的使用方式: mysqli方法;(2)老版本的使用方式:mysql;下面是 mysqli方法。
1、建立与mysql的连接:mysqli_connect(数据库的地址, 用户名, 密码, 提前选择的数据库);
$link = mysqli_connect("localhost:3306","root","root","nz1902");
// 判断连接成功与否
if($link){
echo "ok";
}else{
echo "连接失败";
}
2、执行 sql 语句:mysqli_query()
// mysql命令在php中以字符的形式存在
$sql = "SELECT * FROM `stu`";
// 可以通过php的方法向mysql发送命令(mysql的命令)
$res = mysqli_query($link,$sql);
3、解析结果: mysqli_fetch_assoc(每次执行只能解析一条数据)/all(解析全部结果 )
(1)mysqli_fetch_assoc(每次执行只能解析一条数据)
// 查询数据后,返回值是资源型数据,需要配合方法解析
while(true){
// mysqli_fetch_assoc每次执行只能解析一条数据,配合循环使用
$arr = mysqli_fetch_assoc($res);
print_r($arr);
echo "<br>";
if(!$arr){
break;
}
上面代码的解析结果:
(2)mysqli_fetch_all(解析全部结果 )
// echo json_encode($arr); // mysqli_fetch_all可以解析出所有数据,结果是php的二维数组
$arr = mysqli_fetch_all($res);
print_r($arr);
echo "<br>";
// 转成json之后,查看,将来会转成json之后,发给前端
echo json_encode($arr);
4、断开连接: mysqli_close()
mysqli_close($link);
常用的sql语句
1、常用的 sql 语句 – 规范
(1)SQL 关键字全部 大写
(2)数据库名,表名,字段名,全部 小写
(3)“表” 和 “字段” 使用 反引号 包裹
(4)SQL语句必须以 分号 结尾
(5)除了 数字 和 布尔 之外的文本内容使用 引号 包裹
2、常用的sql语句-增加
(1)增加的 sql 语句 1
$sql = "INSERT INTO `表` VALUES()";
(2) 增加的 sql 语句 2
$sql = "INSERT INTO `表` (字段) VALUES(值)";
示例如下:
//插入数据
$sql = "INSERT stu (name,sex,age) VALUE('黎黎','男',18)" ;
$res = mysqli_query($link,$sql);
//判断是否插入
if($res){
echo "insert ok";
}else{
// echo "insert no";
//用php查看具体的报错信息
echo mysqli_error($link);
}
3、常用的sql语句-删除
$sql = "DELECT FROM `表` WHERE 条件";
示例如下:
$sql = "DELETE FROM `stu` WHERE name='黎黎'";
$res = mysqli_query($link,$sql);
if($res){
echo "delect ok";
}else{
echo mysqli_error($link);
}
4、常用的sql语句-修改
$sql = 'UPDATE `表` SET 字段=值 WHERE 条件';
示例如下:
$sql = "UPDATE `stu` SET age=age+1 WHERE name='多多'";
$res = mysqli_query($link,$sql);
if($res){
echo "update ok";
}else{
echo mysqli_error($link);
}
5、常用的sql语句-查询
(1)查询 student 这个表里面的所有数据
$sql = "SELECT * FROM `student`";
(2)查询 student 表中的数据里面 gender 为 男 的数据
$sql = 'SELECT * FROM `student` WHERE `gender`=“男”';
(3)查询 student 表中的数据里面 age 大于 18 的数据
$sql = 'SELECT * FROM `student` WHERE `age`>18';
(4)查询 student 表中的数据里面 age 大于 18 且 gender 为 男 的数据
$sql = 'SELECT * FROM `student` WHERE `age`>18 AND `gender`="男"';
(5)查询 student 表中的数据里面 age 小于 22 或者 age 大于 28 的数据
$sql = 'SELECT * FROM `student` WHERE `age`<22 OR `age`>28';