php的基础与mysql的连接
一、php的简介
1、php必须运行在服务器环境下
2、服务器的组成:
环境:apache
数据库:mysql
代码:html+css+js,php
3、功能:
前端被互联网用户请求,在前端页面发送数据
php接收,过滤
存取数据库
php进行判断,验证,处理
php返回,发送
前端接收
4、php代码放在:php文件中
php文件必须在服务器运行
5、
php编程语言,服务器编程语言(后台语言)
php与js最大的区别,工作环境
浏览器没有解析php文件的功能,php文件被服务器执行之后,显示在浏览器
二、mysql
1、
mysql:数据库管理系统,管理关系型数据库
数据库中,以表格的形式存在,表格中,行和列表示:
行:数据,记录
列:字段,数据于域
2、数据库没有高效的管理方式,mysql用来管理数据库,是mysql也没有可视化界面,于是,各种第三方工具出现了。他们提供可视化管理界面,快速操作数据库
3、mysql的操作命令
增: INSERT stu (name,tel,cj) VALUES(‘admin’,‘1232132’,34.5);
改:PDATE stu SET cj=67.5 WHERE id=1
查:SELECT name,tel,cj FROM stu;
删:LETE FROM stu WHERE id=3;
三、php的语法
1、
2、
浏览器不能解析php,php在服务器被解析,返回数据,服务器只能返回字符型数据,所有在php中,返回的所有数据类型,都被转成字符。
3、
1.注释,支持#号
2.变量,必须以$开头
$name = "admin";
3.字符串拼接为:.
echo "hello ".$name;
4.对象访问属性为:->
5.php没有打印语句,只有返回语句
6.在php中每行代码结束必须加分号
7.php的数据类型:字符,整型,浮点型,布尔,NULL,对象,数组,资源型
4、
echo true;//这里输出1
echo false;//这里什么都不输出
5、索引数组
php不能直接返回数组,要用json
$arr = array(23,56,"hello");
echo $arr[0];
echo $arr[1];
echo $arr[2];
echo "<br>";
//输出数组长度 他不能用length
echo count($arr);
echo "<br>";
//上述的代码等同于下面的 数组遍历
for($i=0;$i<count($arr);$i++){
echo $arr[$i];
echo "<br>";
}
将自己的数组或对象转为json
echo json_encode ($arr);
索引数组被转成,类似于js数组的字符
关联数组被转成,类似于js对象的字符
两相结合,可以转成类似于js数组里放对象的字符 √
6、关联数组
$arr1 = array("name"=>"admin","age"=>17);
$arr2 = array("name"=>"root","age"=>18);
//echo $arr; 报错
//print $arr; 报错
print_r($arr); //用来查看或测试
//结果:Array ([0]=>23[1]=>56[2]=>hello)
$arr = array($arr1,$arr2);
echo json_encode($arr);
//结果:[{"name":"admin","age":17},{"name":"root","age",18}]
7、对象
class Obj{
//这里的var 用作对象的属性的声明
var $name = "admin";
function show(){
echo "hello ".$this->name;
}
}
$o = new Obj();
echo $o->name; //admin
echo $o->show(); //hello admin
echo json_encode($o); //{"name","admin"} 因为json没有function 所以没有被转过来
8、form表单完成前端收发和后台的收发
前台代码
<form action="test3.php" method="get">
用户名:<input type="text" name="user"><br>
密码:<input type="text" name="pass"><br>
<input type="submit">
</form>
后台php代码
$u = @$_REQUEST["user"];
$p = @$_REQUEST["pass"];
$user = "admin123";
$pass = "987654";
if($u === $user && $p === $pass){
echo "ok";
}else{
echo "no";
}
// echo $u."----".$p;
9、如何检测写的php代码
将.php文件放入WWW文件夹中,然后在浏览器中写入地址 local/testwjj/test.php
10、使用php登录mysql
// 1.登录mysql,链接mysql,选择数据库
$link = @new mysqli("localhost:3306","root","root","test1910");
if($link->connect_error){
echo $link->connect_error;
}
// 2.向mysql发送命令,根据命令执行不同的功能
// $link->query("mysql命令");
// 增
// $str = "INSERT stu (name,tel,cj) VALUES('李四','345',78.5)";
// $q = $link->query($str);
// if($q){
// echo "insert success";
// }else{
// echo "insert error";
// }
// 改
// $str = "UPDATE stu SET name='王二' WHERE id=5";
// $q = $link->query($str);
// if($q){
// echo "update success";
// }else{
// echo "update error";
// }
// 删
// $str = "DELETE FROM stu WHERE id=6";
// $q = $link->query($str);
// if($q){
// echo "delete success";
// }else{
// echo "delete error";
// }
// 查:资源型数据
str = "SELECT * FROM stu";
$q = $link->query($str);
if($q){
echo $q;
// 数据解析之后,才能看到,或操作,怎么解析?
// 每个fetch方法都是:每次执行只能拿到一条信息 所以要用死循环判断
while(true){
$arr = $q->fetch_array();
//这个是索引+关联数组的组合
print_r($arr);
echo "<br>";
if(!$arr){
break;
}
}
//索引数组+关联数组
while($arr = $q->fetch_array()){
print_r($arr);
echo "<br>";
}
// 索引数组 返回1、2、3、4
while($arr = $q->fetch_row()){
print_r($arr);
echo "<br>";
}
// 关联数组√ 返回属性名
while($arr = $q->fetch_assoc()){
// print_r($arr);
// echo $arr["cj"];
echo json_encode($arr);
echo "<br>";
}
// 对象
// while($arr = $q->fetch_object()){
// print_r($arr);
// echo "<br>";
// }
}else{
echo "select error";
}
11、资源型数据如何解析
详情见上方的select
每个fetch方法都是:每次执行只能拿一条信息,所以要用死循环判断
上一篇: linux jdk配置