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方法都是:每次执行只能拿一条信息,所以要用死循环判断
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值