day20 - php

1.php代码书写

1.php的文件名称不能是中文,不能包含空格
2.php文件只能通过服务器来访问到,不能直接打开(localhost/127.0.0.1)
3.php开头使用<?php  结尾使用?>   如果当前文件中只有php的代码,结尾标记?>可以省略
4.php代码的每一行结束都必须加;结尾

2.php的数据类型

1.整型 - 数字中的整数  //integer
2.浮点型 - 数字中的小数  //float,输出double
3.字符串  //string (正常情况下每个汉字是3个字符,跟编码有关系 - utf8)
        ①字符串拼接使用点操作符(.)
        ②双引号可以解析变量,单引号不可以
4.布尔类型  //boolean
        ①true和false会转换成对应的1和空
5.NULL //null  (php中的null相当于js中的undefined)
6.数组  //array
7.对象  //object
8.资源  //resource
	gettype():获取当前括号里面值得类型
	settype():设置当前数据类型
数组的遍历:
for($i=0 ; $i < sizeof($arr1; $i++){
    echo $arr1[$i] . '</br>';
}
foreach($arr2 as $key => $value){
    echo $key . ':' . $value . '<br>';
}

3.php的输出方式

1.echo 12//12
2.var_dump(12;    //int(12)表示数据类型 - 值
3.print12);    //12
4.print_r(12);    //12(打印变量易于理解的信息)

4.php定义变量

php定义变量: $变量名 = 值;    变量名的规则和js的一样
php定义常量: define();

5.php中数组和字符串之间的转换

JSON:前后端交互最好的数据格式(字符串)。
独立的语言
组成:简单值(数组和对象)
json格式字符串一定添加双引号。
格式中不能有分号,js关键字
JSON是一种独立的文件格式。
json_encode(被转的数据); 数组 → json字符串
json_decode(被转的数据,true/1); json字符串 → 数组

6.传参

表单默认使用地址栏传参(get),method属性可以设置传参方式(post)
(1)如果是通过地址栏传过来的数据,通过 $_GET来接收
(2)如果是post方式传参,不在地址栏显示,通过$_POST来接收

7.解决乱码

    echo “<meta charset = 'utf-8'>”
1.php中在头部header设置编码方式
    header("Content-type:text/html;charset=utf-8");
2.php中用iconv转码
    echo iconv("GB2312","UTF-8",'中文内容');
3.在html中用<meat>标签声明
    <meta http-equiv="Content-Type" content="text/html; charset="utf-8" />

8.前后端配合

(1)前端传输

 1.通过表单将数据直接提交给后端,无需js代码。
 	需要通过form+submit+name实现
		form - action:提交到哪里(后端接收数据的地址)
        form - method:提交方式(post/get/delete/put)  默认就是get

(2)后端接收

$_GET['name']:获取前端通过get传输的数据
$_POST['name']:获取前端通过post传输的数据
$_REQUEST['name']:不管是get还是post都可以获取

9.php加密函数

(1)sha1()–40位
(2)md5() --32位

10.sql语句的基本操作

显示当前存在的数据库
    SHOW DATABASES;
选择你所需要的数据库
    USE guest;
查看当前所选择的数据库
    SELECT DATABASE();
查看当前数据库有多少张表
    SHOW TABLES
创建一个数据库
    CREATE DATABASE book;
在数据库里创建一张表
    CREATE TABLE numberone(
    sid tinyint(2) unsigned not null auto_increment primary key,
    url varchar(200) not null,
    )DEFAULT CHARSET=utf8;//设置字符编码为utf8;
显示表的结构:DESC user;
给表插入一条数据,可以省略into
    INSERT INTO users () VALUES ();
筛选指定的数据
    SELECT * FROM users WHERE 条件; //users:表名
修改指定的数据
    UPDATE users SET sex = '男' WHERE username='Lee';
删除指定的数据
    DELETE FROM users WHERE username='Lee';
删除指定的表
    DROP TABLE users;
删除指定的数据库
    DROP DATABASE book

11.php操作mysql

1.连接数据库
 $conn = new mysqli(主机名,用户名,密码,操作的数据库名)2.书写mysql语句(操作数据库)1)添加数据:$conn->query(insert [into] 表名(栏位1,栏位2...)values('数据1''数据2'' '...))
            如果数据库设置了自动递增,这里的数据就设为null
            NOW():获取当前的日期对象
    (2)删除数据:$conn->query("delete from 表名 where 条件")3)修改数据:$conn->query("update 表名 set 栏位1=值,栏位2=值  where 条件")4)查询某个表中所有数据:$result = $conn->query(select  * from 表名 where 条件")
                    $result -> num_rows:获取记录集的条数
                    $result ->fetch_assoc():依次获取结果集,逐条获取,返回的是数组
3.执行sql语句
    $conn->query($sql)

12.php数据库连接

conn.php文件:
<?php
header('content-type:text/html;charset=utf-8');
//1.php连接mysql
//连接数据库的类:mysqli(主机名,用户名,密码,数据库名称)
define('HOST', 'localhost'); //主机名
define('USERNAME', 'root'); //用户名
define('PASSWORD', 'root'); //密码
define('DBNAME', '数据库名称'); //数据库名称
$conn = @new mysqli(HOST, USERNAME, PASSWORD, DBNAME);
//@符号:php的容错处理(一般情况是自己定义了错误类型,使用)。(js里面也有-try...catch...finally)
if ($conn->connect_error) {
    die('数据库连接错误' . $conn->connect_error);
}
//如果出现中文乱码,需要设置字符编码(数据库的数据)。
$conn->query('SET NAMES UTF8'); //执行括号里面的语句

//引入数据库连接
include "conn.php";

13.php接收前端表单传输数据

<?php
header("content-type:text/html;charset=utf-8");
//引入数据库连接
include "conn.php";

if ( isset($_POST['submit']) ) {
    $username = $_POST['username'];
    // $pass = sha1($_POST['password']);
    $password = md5($_POST['password']);
    $tel = $_POST['tel'];
} else {
    exit('非法操作'); //退出并输出括号里面的值。
}

// 往sql添加数据
$sql = $conn->query("insert register values(null,'$username','$password','$tel')"); //register:被添加数据的表
if($sql){
    echo '添加成功';
}else{
    echo '添加失败';
}
//执行sql语句
$conn ->query($sql);

14.利用数据库创建接口

接口:将数据库表里面的数据返回出来(json格式)

<?php
header('content-type:text/html;charset=utf-8');
1.php连接mysql
$conn = @new mysqli('localhost','root','root','taobao');
if ($conn->connect_error) {
    die('数据库连接错误' . $conn->connect_error);
}
//如果出现中文乱码,需要设置字符编码(数据库的数据)。
$conn->query('SET NAMES UTF8'); //执行括号里面的语句
2.查询表中的所有数据
result = $conn->query("select * from taobaogoods");
3.生成接口
$arr = array(); //空数组
for ($i = 0; $i < $result->num_rows; $i++) {
    $arr[$i] = $result->fetch_assoc(); //将获取的数组赋值给$arr数组。
}
4.生成的简单接口
echo json_encode($arr); 

$conn->close();//关闭数据库

在这里插入图片描述

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值