服务器概念
C/S架构
B/Sj架构
PHP
服务器端语言
优点
跨平台,支持多种数据库
安全性和效率好
使用成本低
相对于JSP和ASP.NET简单
开发源码(可以做二次开发)
缺点
安装复杂
太灵活
PHP语法
代码写在<?php ?>之间,每条语句以分号结束
PHP注释
单行
// 或 #
多行
/* */
编码格式
header("Content-type:text/html;charset:utf-8")
定义变量
以$符号开头,区分大小写
变量的数据类型时变化的,有运行时的上下文决定
字符串的连用 .
php流程控制语句
if
switch
for
break
continue
php函数
<?php
functon add($a,$b){
return $a+$b;
}
echo add(1,2);
?>
php数组
$arr=Array(11,22,33,44,55);
for($i=0;$I<count($arr);$i++){
echo $arr[$i]."</br>";
}
php接受前端数据
$POST['参数名']
$GET['参数名']
$REQUEST['参数名']
请求参数中有中文时,使用iconv
数据库
数据库概念
库:仓库
表:一个仓库被分为许多部分
字段:很像类的每个属性
数据库是按照数据结构来组织、存储和管理数据库的仓库
常见的数据库
关系型数据库
oracle
mysql
sqlserver
DB2
sybase
非关系型数据库
redis
cabinet
MongoDB
数据库语法
创建数据库
create database 数据库名
创建表
create table Student(
stuId int,
stuName varchar(20),
stuGender char(4),
stuAge int
)
sql语句(增删改查)
增加
insert into 表名[字段1,字段2...字段N] values(值1,值2,值N);
insert into student(name, sex, age) values("孙丽华", "女", 21);
删除
delete from 表名 整个表都删掉
where 条件 类似于if
delete from 表名 where id=2; 删除表中ID为2 的数据
OR类似于 ||
delete from Student where stuId = 1 OR stuName = "小明";
AND类似于&&
delete from Student Where stuName = "大黄" AND stuid = 1;
修改
update 表明 set 字段1=值1,字段2=值2... WHERE 更新条件;
查找
select 列名称 from 表名称 [查询条件];
PHP连接Mysql
创建连接对象
$conn = mysql_connect("localhost","root","root");
连接库
if($conn){
echo "连接成功";
mysql_select_db("2109");
}
sql语句操作
增删改查
mysql_query("insert into student values(7,'老王',10),$conn");
mysql_query("delete from student where stu_id=1",$conn);
mysql_query("update student set stu_age=18 where stu_age=12",$conn);
$result=mysql_query("select * from student",$conn);
返回值为结果集
mysql_num_rows(结果集):返回结果集拥有的记录数(注册登录判断)
mysql_fetch_assoc(结果集):返回当前结果集游标返回的记录,由对象的方式返回,每当执行一次,游标自动下移
mysql_query(sql语句,连接对象);
关闭资源
mysql_close($conn);
PHP与mysql
表的设计思想
原子性:每个表的字段是不可分割的
每个表都有自己的主键
在主表中只出现其他表的主键(作为自己的外键)
表设计的三范式
原子性:每个表的字段是不可分割的
每个表都有自己的主键
主键在访问从表的时候应该只出现从表的主键
primary key
主键约束,主键不能为空,不能重复
not null
非空约束