PHP 基础知识
来源:互联网 发布:python sort 编辑:程序博客网 时间:2024/06/02 06:10
PHP
- DNS 将域名和IP相互解析. DNS服务器存储的是 IP地址和域名的对应关系.
- host文件:
基本语法
1 变量
CMD 命令
- cd\ 后退到根目录
- 停止Apache $ net stop apache2
- 以管理员权限启动cmd: /C/Windows/system32/cmd.exe 右击选择以管理员权限运行.
- 查看Apache 版本 $ httpd -v
Apache 配置文件检查
- 语法检查
- 计算机->属性->高级系统设置->高级->环境变量->path ->编辑. 将变量值拷贝到写字板.
- phpstudy -> 打开文件地址->Apache 到bin -> httpd ->属性 复制地址
- 拼接到写字板上, 以逗号隔开.粘贴到 path 变量值上, 保存.
- cmd 执行 $ httpd.exe -t
- 网站根目录设置
- phpstudy -> 打开文件地址 -> Apache -> conf -> httpd.conf 打开. 搜索 DocumentRoot.
- 设置网站的首页默认文件 directoryIndex
- 搜索 directoryIndex 在后面添加自己想添加的首页 也可以改变顺序, 注意用空格, 隔开
- Listen 命令 Listen [IP][:端口号] Apache只给监听服务的请求提供服务, 其他的ip请求一概不提供.
- eg: Listen 80 // 监听本机所有 80端口的请求
- Listen 192.169.3.100
- Listen 192.169.3.100:80
设置网络根目录的外部(客户端)访问访问权限
“`
指定网站根目录
DocumentRoot “e:\www”
6. 虚拟主机 1. 将一个真是的主机划分成若干个小空间,对外出租, 每个小空间都具有网站的完整功能 (www服务, FTP服务, 邮箱服务,数据库服务等), 每个小空间都可以绑定一个域名. 2. 配置 虚拟主机 NameVirtualHost 我们配置的虚拟主机,是基于域名的虚拟主机, 也就是一个IP地址,绑定多个域名. NameVirtualHost表示哪些IP地址可以访问定义的虚拟主机,一般放在Apache的主配置文件中(httpd.conf) ``` NameVirtualHost *:80 Include conf/vhosts.conf #表示在这个文件中配置 ``` 3. 配置步骤 1. 配置本地的DNS文件 c:/Windows -> System32/ dirvers -> etc ->hosts ``` 127.0.0.1 www.ccl.com 127.0.0.1 www.cclin.com 127.0.0.1 www.cclxin.com ``` 2. 配置Apache的主配置 phpstudy -> 打开文件地址 -> Apache -> conf -> httpd.conf 打开 ``` Listen 80 NameVirtualHost *:80 #需要与Listen 一致#2.4.x版本这个命令已经删除 Include conf/vhosts.conf ``` 3. Apachede 的虚拟主机详细配置文件 phpstudy -> 打开文件地址 -> Apache -> conf -> vhosts.conf ``` <VirtualHost *:80> #所有ip的80端口都可以访问 ServerName www.ccl.com </VirtualHost> <VirtualHost *:80> #所有ip的80端口都可以访问 ServerName www.cclxin.com #指定首页 DirectoryIndex abc.html #指定网页根目录 DocumentRoot "e:\www" #配置目录权限 <Directory "e:\www"> Options Indexes Order Deny,Allow Allow From All </Directory> </VirtualHost> <VirtualHost *:80> #所有ip的80端口都可以访问 ServerName www.cclin.com </VirtualHost> ```###数据类型1. 整形 取值范围 -21 亿 - 21 亿 $a = 10; 2. 浮点数 不能直接运算 ``` if((0.1 + 0.7) == 0.8) // if 不成立
字符串
3.1 单引号里面的转义字符只能是 \ 和 \’ 输出变量的名称
3.2 双引号内的转义字符都可以用. 输出变量的值,如果变量后面跟的是非空字符,编译器可能会糊涂. 可以加标点或者空格解决,也可以加大括号
3.3长字符串 可以直接解析PHP变量, 但是不能做运算```$str= <<<abc....abc; each $str```
- 布尔型
a=true; b = false 非零即真 - 资源类型PHP对外部数据的一个引用如数据库, 文件操作,验证码等
二维数组
方法一
$arr = array( 10, arrary(10, 23,44,56), arrary(13,434,56), arrary( 10, arrary(7, 23,45) ))dump($arr) // 使用dump 打印结构会很清晰
方法二
$arr[0][0] = 12; $arr[0][1] = "hahha"; $arr["contact"]["mobile"] = "123456";
数组相关函数
- print_r($arr) // 打印比较清晰的变量. 多用于打印数组的对象.
unset() //删除某个变量,
$a = 100;unset($a);$arr = arrray(10, 20,30,40,50);unset($arr[0], $arr[5]); //删除的值, 但是下标还在unset($arr); // 删除数组, 下标重新开始.
- count统计数组中单元数据中有效数据的元素个数
$arr = array(10, 30, 40, 50);
$arrCount = count($arr); // 4;
#arr[100] = 30;
$arrCount = count($arr); // 5, 是有效元素的个数. - foreach() // 用于遍历数组
sum=0; arr = arrary(10 => 5, 43=> 234, 3=>43);
foreach(arran value){
sum+= value;
}
- count统计数组中单元数据中有效数据的元素个数
函数
- 函数内部访问全局变量 使用global.
$name = 10;
function test1(){
global $name ; // global 只能在函数内部使用, 是使用全局变量的地址.
$name = 20; // 不能使用 global $name = 20; 这样的写法
echo $name;
}
test();
echo name; // 20;
Date 函数
- echo date(“y年m月d日 h时i分s秒”); //格式化输出
- echo time(); //返回1970年一月一日到现在的时间. (秒)
数据库基本概念
- 数据库服务器 安装了数据库服务软件的电脑
- www服务器 安装了 Apache 软件的电脑
- DBNS database management system, 数据库管理软件.
- Access 是微软的小型数据库, 100M 左右.
- SQL server 是微软的中型数据库. 付费
- Oracle 美国甲骨文公司, 超大型
- MySQL : 瑞典的AB公司, 后被甲骨文收购, 适应中小型公司.
新建数据库
选择utf_general_ci
- 环境变量配置 phpstudy ->打开mysql文件所在, 复制bin的路径.->我的电脑->环境变量, 将复制的路径拼接在后面, 用分号隔开
登录到MySQL 服务器 mysql.exe -h主机名(mysql 端口3326) -u用户名 -p密码
mysql -hlocalhost -uroot -proot
显示数据库
SHOW DATABASES;
创建数据库 数据库名不区分大小写 (默认字符集为 lain1)
create database if not exists students charset utf8;
create database if not exists students;
create database students;查看数据库字符集
show create database students; // 查看创建数据库的语句
修改命令字符集
alter database students default character set utf-8;
删除数据库
drop database if exists students;
选择当前要操作的数据库
use students;
当前数据库下显示所有的数据表
show tables;
创建数据表
- 列的类型 tinint, text, bigint, char, varchar
- 列的属性
- not null 该字段是否可以为空
- default charley 该字段默认值为charley
- auto_increment 自增, 必须值整形.
- primary key 主键, 不能为空, 不能重复.
- id 字段的属性必须有 1, not null 2. auto_increment, 3, primary key
create table studentsInfo (id int, name text, age int, order int);
eg:create table news ( id int not null auto_increment primary key, // id 不空,自增,主键. title varchar(100) not null, // 标题 不空, 长度 100个字符 author varchar(20) not null , // 作者 source varchar(30) not null, hits int(5) not null default 0, //点击数 长度为5位, 不空, 默认0. is_ppt tinyint(1) not null default 0, // 是否是轮播图 短整形(- 255 -255), 长度为1位, 不空, 默认为0, content text null, // 新闻标题 text 可以为空 addate int(16) not null 添加时间 长度为16位, 不为空);以上 // 后都为解释说明, 不能保留,
打印表结构信息
describe news
删除表
drop table if exists news; // 删掉news表
数据类型
- tinyint 最短整形 0 - 255(-128 - 127) 占用一个字节
- smallint 短整形 0 - 65535 占用2个字节
- mediumint 中型整形 0 - 1677万 占3个字节
- int 整形 0 - 21 亿 4个字节
- big int 最大整数 0 -42亿 8个字节
- float(M,D) 单精度 精确到小数后7位. float(6, 2), 总长度为6, 小数点后2位.
- double(M, D) 双精度 精确到小数点15位,
- date 时期型 格式为 YYYY-mm-dd
- time 时间型 格式为 00:00:00
- char(M) 固定长度的字符串 0 - 255 个字符
- varchar(M) 可变长度的字符串 0- 65535个字符.
- tinytext 0-255个 字符
- text 0 - 1670 万个字符
- longtext 0-42亿 个字符.
SQL 基础
添加记录
insert into 表名 (字段1, 字段2, 字段3) values(‘字符要加引号’, value2, value3….)
删除记录
delete from 表名 where 条件 // 如果没有条件, 则全部删除.
修改记录
update 表名 set 字段1 = value1, 字段2 = value2, …… where 条件. // 如果不加条件, 则所以记录都会跟新.
查询
select 要查询的字段名(* 表示全部) from 表名 where 条件 order by 排序 limit 限制.
eg select id, titile from news where hits > 5;条件
id between 1 and 10 // id 取 1 - 10之间的id in (1, 3, 4) // id 是 1, 3, 4 其中之一的.id not in (1, 2, 3) // id 不是 1, 2, 3title like ('字符要加引号') // title 包含 字符要加引号title not like ('hdhhd') // title 不包含 hdhhdid is not null // id不是null
排序
select id from news order by id desc; // 按照id 降序
select id from news order by id asc; // 按照id 升序limit startrow 从指定的行数起, pagesize 返回记录数
limit 0,10 // 从第0条起 返回10条
limit 10 , 10// 从第10 条起, 返回10条
*更新
update students set 字段1 = value1, 字段2 = value2 where 条件;
问题一 用dos 添加记录时,中文在数据库中显示的是乱码.
- 原因 数据库的字符集需要与dos的字符集相同.
- 检查 数据库字符集
- 检查dos 查看 当前页编码 左上角命令行图标 -> 属性.
- 提示, CMD 程序的字符集与操作系统字符集一样, 但是操作系统字符集该不了. 所以如果是 因为字符集不同导致的乱码, 解决办法是, 用dos命令 告诉数据库, 当前dos是什么字符集.
“`
cd/ mysql -hlocalhost -uroot -p
$ set names gbk;修改数据库的默认字符集
打开mysql文件夹 - my.ini -> 搜索default (有两处, 默认是拉丁) 改成utf8-> 重启
导入数据库
- 先创建数据库, 在导入数据库, 提示创建的数据库字符集最好是utf8 2.
- PHP 基础知识
- PHP基础知识
- php基础知识
- PHP基础知识
- php基础知识
- PHP基础知识
- php基础知识
- PHP 基础知识
- PHP基础知识
- php基础知识
- php基础知识
- php基础知识
- PHP基础知识
- PHP基础知识
- php基础知识
- php基础知识
- Php基础知识
- php基础知识
- 多线程之几种不同的线程池
- 2017上海市高校程序设计邀请赛_F
- I2C上拉电阻取值问题
- SAS中调用动态链接库(C++,DLL)
- 自定义view中 case MotionEvent.ACTION_DOWN:No such instance field:
- PHP 基础知识
- javaee基础之serlvet(二)---面试常见问题
- Hive安装
- 思考题2(人车关系)
- jQuery对指定元素中指定字符串进行替换的方法
- JavaSE项目中向mysql数据库中写入Data类型字段的方法
- TCP 简单记录
- javaparser试用
- PHP 设置调试工具XDebug PHPStorm IDE