PHP基础课程整理
一、简介
PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。俗话还说:“PHP是最好的语言~“。
二、简单基础语法
1.格式及变量声明
<?php
$name = '张三';
$num = 1;
$flo = 123.123;
$check = true;
?>
2.基本输出
$name = '张三';
echo $name.'好好学习';//字符串拼接用 .
张三好好学习
$num = 123.123;
echo gettype($num);//输出$num类型
var_dump($num);//var_dump()可以输出各种类型与值
define('A', 'a');
echo A;//a
echo __FILE__; //获取当前文件路径及名字(包含扩展名)
echo __LINE__; //获取当前代码行数
echo __DIR__; //获取当前文件路径
echo PHP_OS; //系统类型
echo mt_rand(1, 6); //1-6随机数
3.条件循环结构
for
echo '<table witdh="800" height="400" border="1" >';
for ($i=1; $i <10; $i++) {
echo '<tr>';
for ($j=1; $j <= $i; $j++) {
echo '<td>'.$i.'*'.$j.'='.$i*$j.'</td>';
}
echo '</tr>';
}
echo '</table>';//for循环与HTML混用
foreach
$arr[]=1;
$arr[]=2;
$arr[]=3;//$arr=[1,2,3]
var_dump($arr);
foreach ($arr as $value) {
echo $value.'<br>';
}//foreach循环输出
while
$i=0;
while ($i<3) {
echo '这是第'.$i.'次'.'<br>';
$i++;
}//while循环输出
switch
$num1 = 2;
switch ($num1) {
case '1':
echo '1';
break;
default:
echo '!1';
break;
}//switch分支
if-else
$num = 3;
if ($num<2) {
echo '小于2';
echo '<br />';
} elseif ($num<4) {
echo '大于2小于4';
echo '<br />';
} else {
echo '大于4';
}//if-else条件结构
4.函数function
function test()
{
echo __FUNCTION__; //获取函数名
}
test();
含有默认参数
function showname($name='张三',$sex='男'){
echo '我叫'.$name.',性别:'.$sex.'<br>';
}
showname('zzh','女');
showname();//默认参数
三、php联动mysql数据库
1.DOS下基础命令
(1)连接mysql数据库
mysql -uroot -p
(2)显示所有库
show databases;
(3)创建一个数据库 bbs
create database bbs;
(4)删除一个数据库 bbs
drop database bbs;
(5)使用一个数据库 bbs
use bbs;
(6)在该数据库下创建表 user
create table user(id int ,username varchar(40) ,password varchar(32));
(7)显示该数据库下所有表
show tables;
(8)显示创建表的命令语句
show create table user;
(9)显示创建数据库的命令语句
show create database bbs;
(10)删除user表
drop table user;
(11)更改表名
alter table user rename user_table;
(12)查看表结构
dese user;
(13)更改表字段名
alter table user change password pass varchar(45);
//将表中password字段改名为pass并修改类型为varchar(45)
(14)仅更改表字段类型
alter table user modify pass varchar(32);
(15)删除表字段
alter table user drop pass;
(16)增加表字段[在某字段后]
alter table user add password varchar(32) [after username];
(17)为字段增加普通索引
alter table bbs_user add index(age);
(18)为字段增加唯一索引
alter table bbs_user add unique(password);
(19)为字段增加全文索引
alter table bbs_user add fulltext(address);
(20)为字段增加主键索引
alter table bbs_user add primary key(id);
(21)查看全部索引
show index from bbs_user;
(22)查看当前表所在数据库名
select database();
2.增删改查
(1)插入数据
insert into bbs_user(age,username,password,email,address) values(13,'张志浩','123','[email protected]','北京);
(2)删除数据
delete from bbs_user where username='张志浩';
(3)更新数据
update bbs_user set username='金大伟',age=88 where username='金大';
//将username='金大'的记录中username设置为'金大伟',age设置为88
(4)查找数据
select * from bbs_user;//查询所有记录
select username,password from bbs_user;//查询指定列
select * from bbs_user where id>=2;//条件查询
select * from bbs_user where id between 2 and 3;//条件查询
select * from bbs_user where id in(2,3);//条件查询,id=2,3
select * from bbs_user where username like '金%%';//模糊查询
select * from bbs_user where password='123123' or password='1231230';//条件查询
select distinct username from bbs_user;//去除重复值
select * from bbs_user order by age;//升序
select * from bbs_user order by age desc;//降序
select * from bbs_user limit 1,2;//从第一条往后取2条记录
select * from bbs_user group by email;//保留最后一次出现的记录
select count(*) from bbs_user;//表中记录总数
select username as name from bbs_user;//起别名
select count(*) as count from bbs_user;//起别名
select username,goodname from bbs_user inner join bbs_good on bbs_user.goodid=bbs_good.goodid;//内联查询
3.php一次标准数据库操作
(1)连接数据库
$link = mysqli_connect('localhost:3308', 'root', '');
//mysqli_connect('数据库地址','数据库用户名','密码')
//我本机装有MariaDB,使用了3306端口(0-0...)
(2)判断是否连接成功
if (!$link) {
exit('数据库连接失败!');
}
(3)设置字符集
mysqli_set_charset($link, 'utf8');
(4)选择数据库
mysqli_select_db($link, 'bbs');
(5)设置sql语句
$sql = "select * from bbs_user";
//参见数据库增删改查语句
(6)发送sql语句
$res = mysqli_query($link, $sql);
(7)处理结果
$resault = mysqli_fetch_assoc($res);//1.执行一次读取一行,返回关联数组
$resault = mysqli_fetch_row($res); //1.执行一次读取一行,返回索引数组
while ($resault = mysqli_fetch_assoc($res)) {
var_dump($resault);
} //2.循环读取所有行,返回关联数组
while ($resault = mysqli_fetch_row($res)) {
var_dump($resault);
} //2.循环读取所有行,返回索引数组
$resault=mysqli_num_rows($res); //3.返回数据总行数
$resault=mysqli_affected_rows($link); //4.返回受影响的总行数
$resault=mysqli_insert_id($link); //5.返回当前数据自增id
//根据需要选择一种处理方式
(8)关闭连接
mysqli_close($link);