PHP运行及开发环境 基础语法和应用 数据库的增删改查 简单了解

一、PHP运行及开发环境

LAMP/WAMP
Linux + Apache + MySQL + PHP //专业后端PHP需要的环境
Window + ……
Apache
一台安装有Apache的电脑主机就是一台网络服务器,负责处理客户端请求的数据,并返回客户请求的内容。

二、PHP基础语法

PHP里的测试命令 var_dump() 相当于console.log()

使用PHP输出HTML
1.不带格式的HTML

<?php
//echo 后面的内容是响应给浏览器的
echo "hello PHP";
?>

2.带格式的HTML

<?php
echo "<h1>hello PHP</h1>";
?>

3.使用定界符显示HTML(<<<EOD EOD)

<?php
//结构比较复杂的情况
$str = <<<AAA
<h1>标题</h1>
<p>段落</p>
AAA;// 注意顶格写
echo $str;
?>

4.把PHP嵌入HTML //结构很乱已经很少这样写了

<body>
<ul>
<?php
//访问数据库 得到数据
echo "<li>11111</li>";
?>
</ul>
<script>
    alert("bbb");
</script>
</body>

5.PHP注释 // /**/

三、PHP数据类型

1.布尔值(true TRUE var_dump())

<?php
$flag1 = true;
$flag2 = FALSE;
?>

2.整型(integer)

<?php
$num1 = 10;
?>

3.浮点型(float)

<?php
$num2 = 10.1;
var_dump($num2);
?>

4.字符串(string)

<?php
$str1 = "abc";
?>

5.数组(array)

$arr1 = [1,2,3];//在低版本的PHP中这种写法是会报错的,$arr = array(1,2,3);
var_dump($arr1);

6.对象(object)

<?php
class Person{

}
$person = new Person();
var_dump($person);
?>

预定义变量
1.服务器变量$_SERVER,保存头信息,路径,脚本位置等的数组

var_dump($_SERVER);//和服务器相关的一些信息,值为数组
echo $_SERVER["HTTP_HOST"];//访问方式,和js里对象的属性值的取值方式一样

2.Cookie变量$_COOKIE,保存cookie值的数组

cookie 本地存储数据的一种方式 和localStorage相似,区别明天再讲
var_dump($_COOKIE);//取到浏览器端存的cookie信息

3.HTTP GET变量$_GET,保存url请求和表单get提交的变量的数组

$_GET  获取前端通过get请求附加的数据

4.HTTP POST变量$_POST,保存post方法生成的变量的数组

$_POST 获取前端通过post请求附加的数据

5.Request变量$_REQUEST

$_REQUEST 获取前端通过get/post请求附加的数据

四、数组的创建

1.不带索引的数组 默认索引 0 1 2 3 ……

$arr1 = [1,2,3]; //索引0 1 2 值 1 2 3

2.带索引的数组
自定义索引 类似于js里对象的表示形式 {name:“john”,age:20} key=>value

$arr2 = ["name"=>"john","age"=>20];
var_dump($arr2);//不能用echo输出一个数组

3.二维数组

$arr3 = [[1,2],[3,4]];

4.使用变量创建数组compact() a = “ a a a ” ; a = “aaa”; a=aaa;b = “bbb”; $c=array(1,2); compact(“a”,”b”,”c”);

1.“a”,”b”,”c”在结果中对应key值
$a = 1;
$b = 2;
$c = 3;
$arr4 = compact("a","b","c");//abc对应的变量名
var_dump($arr4); 

5.使用两个数组创建一个数组 a = a r r a y ( 1 , 2 , 3 ) ; a=array(1,2,3); a=array(1,2,3);b=array(“a”,”b”,”c”); array_combine( a , a, a,b);

1.$a的值为key,$b的值为value
$a = [1,2,3];
$b = ["a","b","c"];
$arr5 = array_combine($a,$b);
var_dump($arr5);

建立指定范围单元的数组range(start,end,step)

$arr6 = range(1,10,2);
var_dump($arr6);

五、数组的方法

1.in_array( v a l , val, val,arr) 判断数组中是否包含某个值,返回布尔值

<?php
$arr1 = [1,2,3,1,2,1];
var_dump(in_array(1,$arr1));//true
?>

2.取得键名和键值 array_keys( a r r ) a r r a y v a l u e s ( arr) array_values( arr)arrayvalues(arr)

var_dump(array_keys($arr1));

3.移除数组中重复的值,返回去重之后的数组 array_unique($arr)

var_dump(array_unique($arr1));

4.list( a , a, a,b) = $arr;把数组中的值赋给指定的变量

list($a,$b) = $arr1;
echo $a;//1
echo $b;//2

5.foreach($arr as $val) 遍历数组

PHP里字符串的拼接用   .

6.计算数组的长度 count($arr)

foreach($arr1 as $val){
    echo $val."<br>";//PHP里字符串的拼接用.
}
for($i = 0; $i < count($arr1); $i++){//使用方法跟js里相似
    echo $arr1[$i]."<br>";
}
if(true){
    echo "aa";
}
function foo(){
    echo "bb";
}
foo();

7.添加删除 array_push( a r r , 1 , 2 ) a r r a y p o p ( arr,1,2) array_pop( arr,1,2)arraypop(arr)

array_push($arr1,11);
var_dump($arr1);

8.统计数组中所有的值出现的次数array_count_values($arr)

var_dump(array_count_values($arr1));

六、PHP与JSON

1.isset($a)判断一个变量是否定义

和接口(后台页面)数据相关的两个重要的方法 json_encode() json_decode()

2.json_encode($val) 用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,否则返回 FALSEjson_encode($students,JSON_UNESCAPED_UNICODE)
将这个数据转换成js能识别的数据结构(json格式的字符串)
$arr1 = ["xwy","ljh","lcl"];
$arr1 = [["name"=>"john","age"=>20],["name"=>"dale","age"=>21]];
json_encode(data) data是php这门后台语言提供的数据,将这个数据转换成js能识别的数据结构(json格式的字符串),并且能通过echo输出
$json = json_encode($arr1);
echo $json;
3.json_decode($val,true) 函数用于对 JSON 格式的字符串进行解码,并转换为 PHP 变量。True表示转换成数组,false转换成对象。
将json格式的字符串转成php能识别的数据
将json格式的字符串转成php能识别的数据
$str = '{"name":"john","age":20}';
var_dump(json_decode($str,true));//["name"=>"john","age"=>20]
var_dump(json_decode($str,false));

七、利用PHP操作数据库

数据库的概念
数据库是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库,可以被视为能够进行自动查询和修改的数据集。
数据结构是指相互之间具有一种或多种特定关系的数据元素的集合。
结构化数据和传统数据的区别
结构化数据是指能够用二维表结构来逻辑表达实现的数据,即行数据。
传统数据是指不方便用数据库逻辑二维表来表现的数据,比如word文档,图片,视频,html,报表等。
关系型数据库
关系型数据库是建立在关系模型基础上的数据库,由二维表及其之间的联系所组成的一个数据组织。DB2,Oracle,SQL Server,MySQL
结构化查询语言(Structured Query Language)
Sql是用于访问和处理数据库的标准计算机语言
数据增删改查

基本顺序:Server(服务器) -> Database(数据库) ->Table() -> Row() -> Column()
1.创建数据库 create database dbname;
2.创建数据表  use dbname; create table tbname(colName type not null default 0);
3.增加字段  alter table tbname add colName type;
4.修改字段  alter table tbname change oldColName newColName type;
5.删除字段  alter table tbname drop colName;
增加记录 insert into tbname (colName1,colName2) values(val1,val2);
删除记录 delete from tbname[ where colName = value];
修改记录  update tbname set colName = value;
查找记录  select * form tbName [ where colName = value];
主键:能够唯一标识表中某一行的属性或属性组。一个表只能有一个主键。

1.连接数据库服务器

<?php
$conn = new mysqli("localhost","root","");
if($conn->connect_error){
    die("数据库连接失败".$conn->connect_error);//输出并结束
    }
echo "连接成功";
?>

2.创建数据库

<?php
include "conn.php";//使用include引入别的PHP页面
//创建数据库 使用SQL语句
$sql = "create database myDB";
//执行SQL
//$conn->query($sql);//执行成功的话,返回true
if($conn->query($sql)){
    echo "数据库创建成功";
}else{
    echo "数据库创建失败".$conn->error;
}
?>

3.创建数据表

<?php
include "conn.php";
//创建表  之前需要先选择数据库
$conn->select_db("mydb");//选择数据库

//创建表的同时要设置字段

$sql = "create TABLE MyGuests (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    firstname VARCHAR(30) NOT NULL,
    lastname VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)";

if($conn->query($sql)){
    echo "数据表创建成功";
}else{
    echo "数据表创建失败".$conn->error;
}

?>

4.插入数据

<?php
include "conn.php";
//创建表  之前需要先选择数据库
$conn->select_db("mydb");

//一次插入一条信息 
$sql = "insert into myguests (firstname,lastname,email) values ('zhang','biao','zb@163.com')";
//一次插入多条信息
$sql = "insert into myguests (firstname,lastname,email) values ('zhang','san','zs@163.com'),('lee','si','ls@163.com')";
$conn->query($sql);

?>

5.查找数据

<?php
include "conn.php";
//创建表  之前需要先选择数据库
$conn->select_db("mydb");

$sql = "select * from myguests";//选择所有的数据的详细信息
$sql = "select id,firstname from myguests";//选择所有的数据的部分信息
$sql = "select * from myguests where id > 2";//选择部分的数据的详细信息
$sql = "select * from myguests order by id desc";//按照id值的降序(从大到小)取出数据

$result = $conn->query($sql);//将取到的数据放到$result

$newArr = [];

if($result->num_rows){
    while($row=$result->fetch_assoc()){
        array_push($newArr,$row);
    }
}
//[["id"=>1,"firstname"=>""],[],[],[]]

$json = json_encode($newArr);

echo $json;

?>

6.修改数据

<?php
include "conn.php";
//创建表  之前需要先选择数据库
$conn->select_db("mydb");

$sql = "update myguests set firstname='zhao' where id = 1";
$conn->query($sql);
?>

7.删除数据

<?php
include "conn.php";
//创建表  之前需要先选择数据库
$conn->select_db("mydb");

$sql = "delete from myguests where id = 1";
$conn->query($sql);
?>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值