主要内容:
1. php的array
2. php的文件引入
3. 获取前端表单传来的值
4. php数据库的相关操作
5. 数据库的增删改查
1. php的array
1.默认下标数组–下标就是有序的数字。
$arr = array("apple","banana","pear");
echo $arr;//Array
print_r($arr);//Array ( [0] => apple [1] => banana [2] => pear )
echo $arr[0];//apple
数组的遍历
for($i=0;$i<sizeof($arr);$i++){
echo $arr[$i]."<br>";
}//apple banana pear
2.自行定义下标数组
$arr1=array("name"=>"张三","age"=>"18","sex"=>"男");
//echo $arr1[0];//报警告,无法获取;
echo $arr1["name"];//张三
数组的遍历
foreach($arr1 as $key=>$value){//$arr1:遍历的数组 $key(自定义的下标)=>$value(值)
echo $key.":".$value;//name:张三 age:18 sex:男;
echo "<hr>";
}
3.二维数组
$arr2=array(
array("zhangsan","18"),
array("lisi","19"),
array("wangwu","20"),
);
print_r($arr2);//Array ( [0] => Array ( [0] => zhangsan [1] => 18 ) [1] => Array ( [0] => lisi [1] => 19 ) [2] => Array ( [0] => wangwu [1] => 20 ) )
echo $arr2[0][0];//zhangsan
4.利用二位数组做一个简单的接口
(接口:一个域名地址(url),包含需要的数据信息。)
$new =array(
array('title' => '我在塔子湖方舱的7天生活全记录', 'date' => '2020-3-3'),
array('title' => '战“疫”一线党旗红 00后已经长成大人模样', 'date' => '2020-3-3'),
array('title' => '抗疫复工“利器”凸显央企创新硬实力', 'date' => '2020-3-3'),
array('title' => '科技提升疫情防控战斗力 抓抗疫、保民生 求助 辟谣', 'date' => '2020-3-3'),
array('title' => '养老金发放、公务员面试……疫情防控期间这些事得知道', 'date' => '2020-3-3')
);
print_r($new);
echo json_encode($new);
echo "<hr>";
json_encode():将数组转换成json格式(并且进行编码);
echo json_decode();//将数组转换成json格式(并且进行解码);
JSON
JSON是一种数据格式,也可以叫做对象。
JSON是前后端交互最好理想的数据格式。
JSON的特点
JSON是一种轻量级的数据格式,不是js独有的。 独立文件。
JSON组成:简单值+数组+对象。
JSON里面的字符串一定要添加双引号。
JSON没有var,let,注释,分号等相关的js语法,代表数据。
举例说明:前端核心工作(渲染,用户体验,性能优化)
渲染–数据(JSON格式的接口)
2. php的文件引入
引入文件
引入共有文件
相当于array.php文件的代码就存在当前的位置
下面两种方式都可以
include 'array.php';
//上下两方法都可以引入
require 'array.php';
print_r($news);
3. 获取前端表单传来的值
超级全局变量,获取前端表单传来的值。
$_GET[“表单的名称”] //获取前端用get方式提交的值
$_POST[“表单的名称”] //获取前端用post方式提交的值
注意:
- from.html文件需要单独写;
- from表单里面的action填写需要跳到的php文件;
- 提交按钮一定是submit;
$_GET[ ]
echo $_GET['username'];//获取表单username 输出的值
$user = $_GET['username']; //username:前端传来的表单的name值。
$pass = $_GET['password']; //username:前端传来的表单的password值。
$email = $_GET['email']; //username:前端传来的表单的email值。
echo "我的姓名是{$user},我的密码是{$pass},我的电子邮箱是{$email}";
$_POST[ ]
echo $_POST['username'];
$user = $_POST['username']; //username:前端传来的表单的name值。
$pass = $_POST['password']; //username:前端传来的表单的password值。
$email = $_POST['email']; //username:前端传来的表单的email值。
echo "我的姓名是{$user},我的密码是{$pass},我的电子邮箱是{$email}";
php数据库的相关操作
1.安装数据库的可视化软件–Navicat_for_MySQL–自由安装。
2.数据库概念:存储数据的仓库。
3.MySQL 数据库–关系型数据库。
4.关系数据库由关系组成,这些关系通常称为表格。顾名思义,一个关系就是一个数据的表格。电子数据表就是一种表格。
5.表
列(字段)
表中的每列都有惟一的名称,包含不同的数据。此外,每一列都有一个相关的数据类型。
行(记录)
表中的每一行代表一个客户。每一行具有相同的格式,因而也具有相同的属性。行也成为记录。获取多行,称之为记录集。
键(主键)
主键是唯一且不为空的,用以标识唯一的一条记录。
6.通过navicat创建数据库
数据库创建密码:对我们当前来说,可以不创建,自由选择。
通过wampserver下面的mysql进行设置–左键点击右下角的wampserver图标,选择mysql—mysql控制台
如果没有设置密码,直接回车,显示欢迎字符。否则输入密码。
具体输入下面的三行命令。
use mysql (定位到mysql表)
update user set password=password(“用户自由设置的密码”) where user=“root”; (设置密码)
flush privileges 刷新权限(重启wampserver)
第一步:将navicat和当前的php服务器进行连接。(少用点命令行)
-选择连接按钮
-设置连接名–自定义的
-主机名,端口,用户名都是使用默认的。
-设置密码,如果没有设置密码的用户直接设为空。
**第二步:**新建数据库和表
新建数据库:单击连接名称,右键找到新建数据库。
数据库名:通过英文单词或者拼接自由设置。
字符集:utf8 – UTF-8 Unicode (设置字符)
排序规则:utf8_general_ci (多语言版)
新建表:点击数据库名称,展开,找到表新建。
设计字段(表的列,名称自定义)+字段的数据类型等。
7.学习php代码控制mysql数据库
第一步:php连接数据库。
第二步:通过php代码执行sql语句,对数据库进行增删改查。
8.php安装相关的插件
php Intelephense
9.测试的尽量不要将php里面的文件夹里面文件的名称设为index,服务器优先找文件。项目中一定要。
10.服务器软件是phpstudy 连接数据库的用户名是:root 默认的密码是root 可以修改。
5. 数据库的增删改查
1.php连接数据库
//php连接数据库。
//new mysqli(主机名,用户名,密码,数据库的名称);//链接数据库的类
define("HOST", "localhost"); //主机名;
define("USERNAME", "root"); //用户名;
define("PASSWORD", ""); //密码 ,没有密码设置空为空;
define("BANAME", "haha"); //数据库的名称;
$conn = new mysqli(HOST, USERNAME, PASSWORD, BANAME);
if ($conn->connect_error) { //如果连接有问题,自定义报错信息
die("数据库连接错误,检查用户名和密码");
};
2.php对代码mysql数据库进行增删改查。
sql语句:结构化查询语言。
2.1数据的操作–增;
$sql= "insert into(表名) (字段) values(值)";
//php提供了两个加密密码函数;
//sha1():将括号里面的字符串加密成40为的字符;
//md5():将括号里面的字符串加密成32为的字符;
$sql="insert onesql values(null,'zhangsan',sha1(123456),'zhangsan@qq.com',NOW())";
$conn->query($sql);//执行sql语句;
$hah ="insert onesql values(null,'wangwu',sha1(123456),'wangwu@qq.com',NOW())";
$conn->query("$hah");
表单的内容直接提交给数据库;
$user = $_POST["username"];
$pass= sha1($_POST["password"]);//已经加密
$email=$_POST["email"];
$sql = "insert onesql values(null,'$user','$pass','$email',NOW())";//字符串加引号
$conn->query($sql);
echo "提交成功";
2.2数据库操作–删;
//$sql="delect from '数据库表明' where 条件"
$conn->query("delete from onesql where sid<=16");//where来限定条件删除;删除sid<=16的记录;
$conn->query("delete from onesql where sid%2=0");//where来限定条件删除;删除偶数的sid的记录;
2.3数据库的修改–改
//$sql = "upadte '数据库表名' set 字段=值 where 条件";
$conn->query("update onesql set username='666' where sid=17");
$conn->query("update onesql set username='678',email='666@qq.com' where sid =19");
2.4数据库操作–查
//$sql = "select * from 'student'";
$result = $conn->query("select*from onesql");
$result->num_rows;获取记录集的条数
$result->fetch_assoc();获取记录集里面的数据内容,按照数据顺序获取,而且会生成数组来存放!
echo $result->num_rows;//10 十条数据;
echo $result->fetch_assoc();//Arrar;
导出数据库内容做接口
$arr = array();
for ($i = 0; $i < $result->num_rows; $i++) {
$arr[$i] = $result->fetch_assoc();
}
//echo $arr;
//print_r($arr);
echo json_encode($arr);//输出接口给前端用。