php基础
所有的 php 代码 都需要写在 <?php ?> 中
注释的使用: # // /* */
声明变量 $
每一次使用变量,都需要前面加 $
每一段代码的结束 都需要 加 分号 ;
在页面的 地址栏 中 写 local host 或者 127.0.0.1 可以访问 www 文件夹下面的index文件
解决中文乱码:中间不能有空格 注意分号
header("content-type:text/html;charset=utf-8;");
双引号 ” “ 可以解析变量 ‘ ’ 不能解析变量
在 php 里面 点 是拼接的作用
输出语句
echo $1;
print_r($num);
var _dump($num);
区别: echo 只能输出 基本数据类型
print_r 输出索引
var_dump 输出索引和每一项的数据类型
如果输出的是 bool 类型
echo 和 print_r 在输出 true 时,显示 1 ; 输出 false 时,什末都不显示
var_dump 可以输出 bool 值
分支语句 和 循环语句
分支
if(){}else if(){} else{}
需要注意 每一个语句结束都需要 加分号”;“
每一次使用变量的时候都需要 在变量前 添加 美元符号
if($num > 100){
echo "大于";
}else{
echo "小于";
}
循环
for($num = 0; $num < 3; $num++){
echo $num;
}
$num = 0;
while($num < 4){
$num++;
echo $num;
}
数组
索引型数组
$arr = array(1,2,3);
关联型数组 类似 对象
$arr = array("name" => "Jack"; "age" => "23");
要拿数组中的数据 只能通过 中括号拿 不能通过点
echo $arr["name"];
sql
- 和数据库链接: mysql_connect()
接受三个参数:
参数1: ip 地址 :localhost | | 127.0.0.1
参数2: 用户名 root
参数3:用户密码 root
返回值: 成功:成功信息 ;失败:false
$con = mysql_connect('localhost','root','root');
- 选择要操作的数据库 mysql_select_db( 数据库名字 )
mysql_select_db("user");
-
准备一个要执行的 sql 语句
$sql = 'SELECT * FORM `userinfo`';
表示从 表格userinfo 中查找到所有的数据
-
执行 上面的 sql 语句
$res = mysql_query($sql);
方法 mysql_query(操作数据库的语句)
返回:成功(成功的信息)
失败(false)
-
为了防止错误的代码 (让错误先行)
if(!$res){ die('error for mysql'.mysql_error()); //执行die() 语句 后面的代码不再执行,类似return }
-
如果没有进入 if 语句 代码会继续向下执行
解析数据
mysql_fetch_row() #拿到的是第一条数据 以索引型数组返回 mysql_fetch_array() #拿到的是第一条数据 是以组合型数组返回 mysql_fetch_assoc() #拿到的是第一条数据 以关联型数组返回 用中括号拿到里面的数据
都只能拿到其中的一个数据,所以可以使用循环 while 把所有数据解析
$arr = array(); while($row){ array_push($arr,$row); $row = mysql_fetch_assoc($res); } var_dump($arr);
上面的代码简化: $arr = array(); while($res = mysql_query($sql)){ array_push($arr,$row); } var_dump($arr);
sql的简单应用
简单的登录验证
功能:
-
用户输入用户名和密码
-
将用户输入的数据传到后台
-
数据库的准备:
链接一个数据库;
查找到需要查询的数据库;
-
写 sql 语句:后台将输入的内容和数据库中的数据比对;
-
如果和数据库中的某个信息完全相同就,转跳到index页面;如果不相同,就输出:用户名或者密码错误
代码:
// index.html
<div>欢迎</div>
//login.html
<form action="./login.php" method="get" autocomplete="off">
// 提交的地址为 ./login.php 给到后台
//
<input type="text" name="username">
<input type="text" name="password">
<input type="submit">
</form>
//login.php
<?php
header("content-type:text/html;charset=utf-8;");
// 1. 连接数据库
$conn = mysql_connect("localhost",'root','root');
// 2. 找到需要操作的数据库
mysql_select_db("user");
// 3. 拿到前端通过GET 方法拿到的数据 &_GET['username']
$username = $_GET["username"];
$password = $_GET["password"];
// 4. 把从前端拿来的数据 和数据库的信息比对
$sql = "SELECT * FROM `userinfo` where `username` = '$username' AND `password`='$password' ";
/*
变量用单引号
字符串用双引号
数据库名称用反引号
*/
// 5. 执行 sql 语句
$res = mysql_query($sql);
// 6. 解析
$row = mysql_fetch_assoc($res);
if($row){
header("location:./index.html");
}else{
echo "用户名或密码错误";
}
?>