| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> PHP知识库 -> 服务器phpMySQL -> 正文阅读 |
|
[PHP知识库]服务器phpMySQL |
什么是服务器 ? ? + 一个 提供 服务的 机器 ? + 什么是服务 ? ? ? => 根据需求给出对应的内容 ? ? => 接口: 根据不同的需求, 给出不同的数据 ? ? => 文件: 根据不同的请求, 给出不同的文件数据(html, css, js, 视音频, ...) ? + 就是一台特殊的电脑 ? ? => 当一个电脑上安装了某些 "软件" 的时候, 那么这个电脑就可以作为服务器 ? ? => 真实的服务器是由你的电脑上有没有运行某些 "软件" 来决定的 学习的内容 ? + AMP 一套 ? ? => A: apache 服务器 ? ? => M: MySQL 数据库 ? ? => P: PHP 开发 安装 服务器 环境 ? + 使用一个 papstudy(小皮) 的集成软件 ? + 安装: ? ? => 下载安装包, 双击运行安装 ? ? => 注意: 自己选择一个目录, 全目录不能出现中文和空格 ? + 卸载: ? ? => 打开控制面板 ? ? => 添加删除程序 ? ? => 找到 phpstudy 删除 ? ? => 删除完毕以后, 把相关目录文件删除 ? + 软件的使用 ? ? => 打开小皮面板 ? ? => 首页上有四个继承环境的控制器 ? ? ? -> apache ? ? ? -> FTP ? ? ? -> MySQL ? ? ? -> nginx ? + 得到(默认): ? ? => 文件夹, phpstudy_pro ? ? => WWW 目录, 是你服务器的根目录 ? ? => 80 端口, 是你 apache 软件的 "编号" ? ? => index, 是网站首页, 当你在网站根目录下有一个 index 的文件, 你访问服务器的时候会自动打开 ? + 根目录的作用: ? ? => 你的服务器对外开放的目录结构 ? ? => apache 会对外开放一个目录结构 ? ? => 当别人访问你的服务器的时候, 可以看到的内容 ? ? => 修改根目录 ? ? ? -> 打开小皮面板 ? ? ? -> 左侧边栏点击 网站 ? ? ? -> 点击管理 修改 ? ? ? -> 把根目录位置修改(全路径不能有中文) ? + 端口号的作用: ? ? => 当你使用 ip 地址访问到电脑以后 ? ? => 帮你确定访问哪一个服务器软件 ? ? => 默认是 80, 当你在浏览器内书写 ip 地址的时候, 如果你不写端口号, 浏览器会自动添加 80 端口号 ? ? => 推荐修改 ? ? => 端口号可选的取值范围, 0 ~ 65535, 0 ~ 1024 不推荐使用 ? ? ? -> 打开小皮面板 ? ? ? -> 左侧边栏点击 网站 ? ? ? -> 点击管理 修改 ? ? ? -> 修改端口号位置 ? + ip 地址的配套 ? ? => 你可以给你的网站设置第二个域名 ? ? ? -> 打开小皮面板 ? ? ? -> 左侧边栏点击 网站 ? ? ? -> 点击管理 修改 ? ? ? -> 第二域名位置写一个自己喜欢的域名 ? + 开放目录权限 ? ? => 任何服务器不对外开放目录结构 ? ? => 可以修改 ? ? ? -> 打开小皮面板 ? ? ? -> 左侧边练点击 网站 ? ? ? -> 点击管理 修改 ? ? ? -> 顶部选项选择 高级设置 ? ? ? -> 找到 目录索引选项 开启 ? + 修改默认打开 index 文件 ? ? => 打开小皮面板 ? ? => 左侧边栏点击 网站 ? ? => 点击管理 修改 ? ? => 顶部选项选择 高级设置 ? ? => 把网站首页位置书写为 null 文件的打开方式 ? + 本地打开 ? ? => 直接找到你的 html 文件, 双击运行 ? ? => 特点: 在浏览器地址栏, 能看到你的电脑盘符开始的完整路径 ? + 服务器打开页面 ? ? => 把你需要看到的页面放在 服务器 的根目录 ? ? => 在浏览器输入你的 http://域名:端口号/指定文件 查看 ? ? => 注意: 你写书的 http://域名:端口号 等价于 你的 服务器根目录 phpphp 代码的书写 ? + 后端开发的语言 ? + 功能: ? ? => 接受前端的请求 ? ? => 做出对应的处理 ? ? ? -> 操作电脑系统文件 ? ? ? -> 操作电脑磁盘文件 ? ? ? -> 操作数据库内容 ? ? ? -> ... ? ? => 返回给前端响应 规则:? 1. php 代码需要书写在一个 .php 后缀的文件内 ? 2. 在文件中书写 <?php ?> 标签对 ? ? -> 在标签对中书写 php 代码 ? 3. 如果你想运行 php 代码, 需要在 apache 服务器上打开 ? ? -> 本地打开是不能运行 php 代码的 ? 4. php 代码的每一句都必须书写 分号(;) ? ? -> 最后一句可以不写 变量// php 的变量 ? // 定义: $名字 = 值; ? // 注意: $ 不是定义变量的关键字, 是变量名的一部分 ? // 定义了一个叫做 $num 的变量, 值是 100 ? $num = 100; ? // 使用: 直接使用 $名字; ? echo $num; php 的输出语法? + 后端的输出和前端的输出不一样 ? + 注意: 后端的输出, 只是单纯的输出, 不去决定输出在什么位置 ? ? => 取决于谁在请求他 例子: ? => 后端: 输出 123 ? => 当你在 浏览器地址栏 书写该 php 文件的时候, 输出就会输出给浏览器 ? => 当你在 ajax 书写该 php 文件的时候, 就会输出在 xhr.responseText 上 ? => 当你用 Java 去访问该 php 文件的时候, 就会输出给 Java ? => ... 语法: ? 1. echo 输出的内容; ? 2. print_r(输出的内容); ? 3. var_dump(输出的内容); 区别: ? 1. echo 只能输出 基本数据类型 ? ? => 不能准确的输出复杂数据类型 ? ? => 注意: 输出布尔 true 的时候, 会转换成 1 输出, 输出布尔 false 的时候, 会转换成 空 输出 ? 2. print_r() 可以输出所有数据类型 ? ? => 注意: 输出布尔 true 的时候, 会转换成 1 输出, 输出布尔 false 的时候, 会转换成 空 输出 ? 3. var_dump() ? ? => 不光可以输出所有数据类型 ? ? => 并且会带有该数据类型的一些基本信息 字符串? + 在 PHP 内有两种定义字符串的方式 ? ? 1. 单引号(''): 不能直接解析变量 ? ? 2. 双引号(""): 可以直接解析变量 字符串拼接 ? + 在 PHP 内, 使用 点(.) 进行字符串拼接 php 的分支语句? + 条件分支 ? + 循环分支 ? + 基本和 js 是一致的, 注意变量 php 的数组+ 在 php 中数组分成两类 ? 1. 索引型数组 ? ? => 定义: $arr = [ 数据1, 数据2, 数据3, ... ] ? ? => 等价于 JS 内的数组 [ 数据1, 数据2, 数据3, ... ] ? 2. 关联型数组 ? ? => 定义: $arr = [ key => value, key2 => value2, ... ] ? ? => 等价于 JS 内的对象 { key: value, key2: value2 } + 数组成员的访问 ? 1. 索引型数组 ? ? => 语法: 数组名[索引] ? 2. 关联型数组 ? ? => 语法: 数组名[key] php 的 json 转换? + 因为任何一个语言, 转换成 json 格式是长得一模一样的 ? + 语法: json_encode(php 的数据); php 操作?cookie1. 获取 cookie ? + 在 PHP 内有一个天生的关联型数组叫做 $_COOKIE ? + 内部存储的就是所有的 cookie 内容 ? + 当你想获取某一条 cookie 的时候 ? + 语法: $_COOKIE['key']; 2. 设置 cookie ? + 在 PHP 内有一个函数叫做 setcookie, 用来设置 cookie 的 ? + 语法: setcookie(key, value, expires) ? ? => expires 需要一个时间对象 ? + PHP 如何获取时间对象 ? ? => 语法: time() ? ? => 得到的是世界标准时间的时间对象 ? ? => 拿到的时间单位是 秒 3. 删除 cookie ? + 设置一个过期时间在当前时间以前的 数据库? + 专门用来存储数据的仓库 ? + 目前市场上的数据库分成两类 ? ? 1. 关系型数据库 ? ?sql 类数据库 ? ? ?二阶段学习 ? ? ? -> MySQL ? ? 2. 非关系型数据库 ? db 类数据库 ? ? ?三阶段学习 ? ? ? -> mongodb sql 类数据库 MySQl 的基本操作 ? + 把整个数据库想象为一个 "磁盘空间" ? + 在整个 "磁盘空间" 中, 会有很多的 库(database) ? ? => 就相当于一个一个的 "文件夹" ? + 每一个 库 内部有很多的 表(table) ? ? => 就相当于一个一个的 "表格" ? + 每一个 表 内部由 ?字段(column) 和 值(value) 组成 ? ? => 字段就相当于表格的表头 ? ? => 值就相当于每一个数据 MySQL 数据库的操作 ? 1. 启动数据库 ? ? => 打开小皮面板 ? ? => 找到 MySQL 点击启动 ? 2. 操作数据库 ? ? => 小皮面板为我们提供了一个可视化工具 ? ? => 打开小皮面板 ? ? => 数据库工具安装 ? ? ? -> win: 安装 sql-front ? ? ? -> mac: 安装 phpMyAdmin ? ? => 点击数据库工具, 选择对应的内容 sql-front 的操作 ? 1. 建立 库(database) ? ? => 光标放在 localhost 位置 ? ? => 鼠标右键 ? ? => 新建 ? ? => 数据库 ? ? ? -> 名称: 全英文 ? ? ? -> 字符集: utf-8 ? ? ? -> 字符集校对: utf8-general-ci ? 2. 建立 表(table) ? ? => 光标放在需要建立 表 的 库 上 ? ? => 鼠标右键 ? ? => 新建 ? ? => 表 ? ? ? -> 名称: 全英文 ? ? ? -> 类型: 不要动 ? ? ? -> 备注: 随便写 ? 3. 建立 字段(column) ? ? => 光标放在需要建立 字段 的 表 上 ? ? => 鼠标右键 ? ? => 新建 ? ? => 字段 ? ? ? -> 名称: 全英文 ? ? ? -> 类型: 表示存储什么类型的数据 ? ? ? ? + varchar: 表示字符串 ? ? ? ? + int: 表示整数 ? ? ? ? + float: 表示浮点数 ? ? ? ? + date: 表示时间 ? ? ? ? + text: 大文本 ? 4. 填充 值(value) ? ? => 光标选中需要填充值的 表 ? ? => 点击数据浏览器 ? ? => 手动插入 直接导入 sql 文件 ? + 选择你要导入 sql 文件的 库 ? + 右键 ? + 导入 ? + sql 文件 ? + 选择你要导入的 sql 文件 ? + 注意: 不要双击直接打开, 先修改字符集为 utf-8 FE: 前端 fornt-end BE: 后端 back-end UI: 设计师 user-interface php 操作 MySQL 数据库? + 在 PHP 内操作数据库有固定步骤 1. 和数据库建立连接 ? + 语法: mysqli_connect(ip地址, 用户名, 密码, 你要操作哪一个库); ? ? => ip: localhost(127.0.0.1) ? ? => 用户名: 你的数据库用户名, 默认是 root ? ? => 密码: 你的数据库密码, 默认是 root ? ? => database: 你要操作数据库中的哪一个库 ? + 返回值: 数据库连接信息 2. 操作数据库 ? + 因为是 sql 类的数据库 ? ? => 所有和数据库的相关操作都是使用 sql 语句 ? ? => 在 PHP 内用的语法是一个 ? + 例子: ? ? => 你需要删除数据库中的某一条信息, 使用这个方法, 执行 删除的 sql 语句 ? ? => 你需要修改数据库中的某一条信息, 使用这个方法, 执行 修改的 sql 语句 ? + 语法: mysqli_query(连接信息, sql 语句); ? ? => 连接信息: 就是 mysqli_connect() 的返回值 ? ? => sql 语句: 你要执行的 sql 语句 ? ? => 简单的 sql 语句: "SELECT * FROM `表名`"; 3. 解析结果 ? + 注意: sql 语句操作, 只有 查询语句 需要解析结果 ? ? => 因为如果是 查询: 返回的是 查询result ? ? => 如果是 增删改: 返回的就是 true 或者 false ? + 语法: mysqli_fetch_all(查询结果, MYSQLI_ASSOC); ? ? => 查询结果: mysqli_query() 执行查询的sql语句的返回值 ? ? => MYSQLI_ASSOC: 解析成什么格式的数据 4. 关闭数据库的连接 ? + 语法: mysqli_close(连接信息) ? + 注意: 数据库可以不关闭 sql 语句? + 操作 sql 类数据库的 语句 ? + MySQL 也是 sql 类数据库的一种 ? + 也是使用 sql 语句来操作 书写规则和规范 ? 1. sql 语句内, 表名 和 字段名 推荐使用 反引号 包裹 ? 2. 推荐关键字用 大写 ? 3. 如果值是一个字符串类型, 那么需要单独再次包裹一个 引号(单引号 双引号 都行) 增加的 sql 语句? 书写方式1: ? ? => INSERT INTO `表` VALUES(数据1, 数据2, 数据3, ...); ? ? ? -> 注意: 需要按照数据库中的字段顺序书写 ? 书写方式2: ? ? => INSERT INTO `表` (字段1, 字段2) VALUES(值1, 值2); ? ? ? -> 可以只插入几个数据 删除的 sql 语句? ? ? + DELETE FROM `表` WHERE 条件 修改的 sql 语句? + UPDATE `表` SET 字段=值, 字段2=值2 WHERE 条件 查询的 sql 语句? + 普通查询 ? ? => SELECT * FROM `表` ? ? => * : 表示一条数据中所有字段都要 ? + 只获取某些字段 ? ? => SELECT 字段1, 字段2 FROM `表` ? + 条件查询 ? ? => SELECT * FROM `表` WHERE 条件 ? + 条件并列查询 ? ? => SELECT * FROM `表` WHERE 条件 AND 条件2 ? + 或者条件查询 ? ? => SELECT * FROM `表` WHERE 条件 OR 条件2 ? + 排序 ? ? => SELECT * FROM `表` ORDER BY `字段` ASC ? ? => SELECT * FROM `表` ORDER BY `字段` DESC ? + 分页 ? ? => SELECT * FROM `表` LIMIT 开始索引, 多少个 ? + 模糊查询 ? ? => SELECT * FROM `表` WHERE `字段` LIKE '%关键字%' ? ? => SELECT * FROM `表` WHERE `字段` LIKE '%关键字' ? ? => SELECT * FROM `表` WHERE `字段` LIKE '关键字%' ? ? => SELECT * FROM `表` WHERE `字段` LIKE '_关键字_' ? ? => SELECT * FROM `表` WHERE `字段` LIKE '关键字_' ? ? => SELECT * FROM `表` WHERE `字段` LIKE '_关键字' |
|
PHP知识库 最新文章 |
Laravel 下实现 Google 2fa 验证 |
UUCTF WP |
DASCTF10月 web |
XAMPP任意命令执行提升权限漏洞(CVE-2020- |
[GYCTF2020]Easyphp |
iwebsec靶场 代码执行关卡通关笔记 |
多个线程同步执行,多个线程依次执行,多个 |
php 没事记录下常用方法 (TP5.1) |
php之jwt |
2021-09-18 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/28 13:22:17- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |