初识PHP(下)

主要内容:

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),'[email protected]',NOW())";
 $conn->query($sql);//执行sql语句;
 $hah ="insert onesql values(null,'wangwu',sha1(123456),'[email protected]',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='[email protected]' 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);//输出接口给前端用。
发布了11 篇原创文章 · 获赞 8 · 访问量 250

猜你喜欢

转载自blog.csdn.net/qq_42251357/article/details/104645107