JS day14—PHP和MySQL

1.PHP:

php的安装:

   安装——双击exe ——找到安装好的文件夹——双击执行程序exe——点击启动

1.双击exe:

JS day14—PHP和MySQL 

2.安装好,执行exe ,点击启动:

JS day14—PHP和MySQL

3.当状态都为绿色则安装成功:

JS day14—PHP和MySQL 

 php应用:

如何通过web服务器(apache)访问文件:

1.将需要访问的内容放置在磁盘的phpstudy文件夹中的 www文件夹中

JS day14—PHP和MySQL

2.访问方式为 本机ip地址+文件路径

注意:本机ip==www文件前的所有路径

2.php语法:

*******php除了是后端逻辑文件外,还可以当作html页面使用。

1.php要将代码写在.php文件中。

2.代码要写在<?php    与  ?>  之间。

3.每行代码必须以分号结束。

4.php的三个注释方式://   或  #  或    /* 内容*/  。

5.echo等价与document.write。

6.使php支持中文编码格式:

      header("Content-type:text/html;charset=utf-8");

7.环形地址:

      http://127.0.0.1/testPhp/HelloWorld.php

      http://localhost/testPhp/HelloWorld.php

<?php
	//echo的其中一个功能为document.write
	
	//支持中文的编码格式
	header("Content-type:text/html;charset=utf-8");
	
	echo "老王";
	echo "<br>";
	echo "老绿";
?>

1.变量定义:以$开始加字符串序列

$name = "老王";
$name1 = "呆毛";
echo "$name";

2.php的字符串拼接用的是.

echo $name ." ". $name1;

3.if条件语句:

任何的变量名都得写$符

$a=123;
$b=456;
$c;
if($a>$b){
    $c = $a;
}else{
    $c = $b;
}
echo $c;//456

4.循环和数组:

count(数组):返回数组的长度

// $arr = [1,2,4,5,6];
$arr=Array(1,2,3,4,6);
for($i=0;$i<count($arr);$i++){
    echo $arr[$i] . "<br>";
}

5.函数:

function add($a,$b){
    return $a+$b;
}

echo add(1,2);//3

3.表单提交:

    action:提交数据文件

    method:数据提交方式

       1.get:安全性低,效率高,携带数据小。get会将请求参数携带在url地址后

       2. post:安全性高,效率低,携带数据大 

    name:前后端交互的约定

   1. html文件内容:

 <form action="zhishi.php" method="GET">
        用户名:<input type="text" name="userName"><br>
        密码:<input type="text" name="userPwd"><br>
        <input type="submit" value="登录">   
    </form>

******php接收前端数据 

      1.两两对应,前端用什么后端就用什么接收

           $_GET[key值];

           $_POST[key值];

      2.两个都可接收

          $_request[key值]; 

2. php文件内容:

<?php

header("Content-type:text/html;charset=utf-8");

$name = $_GET["userName"];
$pwd = $_GET["userPwd"];
echo $name ."".$pwd;

?>

4.数据库

1.数据库概念:

*  库:仓库

*  表:一个仓库被分为了许多部分,很像类

*  字段:很像类的每个属性。

*  每个字段的数据类型:

     数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。

      如:

  int ----> 整数 blob -----> 二进制数据

  varchar/char ----->字符串

  date -----> 日期

2. 常见的数据库

    * 关系型数据库:Oracle、MySQL、SQLServer、DB2、sybase

    * 非关系型的数据库:Redis,Tokyo Cabinet,Cassandra,Voldemort,MongoDB,Dynomite,

                      HBase,CouchDB,Hypertable, Riak,Ti,

3.数据库的操作:

      1.MYSQL管理器——选择MYSQL-front

     2. 用户登录——默认以root身份登录,登录后的用户名为localhost

      一个用户名下有很多库,每个库下有很多表

             对象浏览器:描述的是字段类型和个数

             数据浏览器:描述的是记录

             SQL编译器:通过SQL语句对数据库进行操作

     3.创建数据库

     4.打开某库

     5.创建表(在SQL编译器里)

 4.sql语句数据库的创建和增删改查—在数据库中:

    1.创建表:

create table 表名(字段1,字段2.....字段n);

create table student
(
      stu_id int,
      stu_nume varChar(10),
      stu_age int,
      stu_gender char(2)
);

      2.增加一条记录

  insert into 表名(字段1,字段2.....字段n)
   values(值1,值2.....值n);

insert into student (stu_id,stu_nume,stu_age,stu_gender)
values(1, "呆毛" , 22 , "M" );

insert into student 
values(2,"嘻嘻",21,"w");

insert into student 
values(2,"哈哈",21,"w");

insert into student 
values(2,"呼呼",21,"w");

     3.删除:

         delete from 表名;

        *删除student里的所有内容:

delete from student;

        where子句:

           *删除stu_id为1的所有内容:

delete from student
where stu_id=1;

        AND  OR:

          *删除stu_id为1和stu_nume为呆毛的所有内容:

delete from student
where stu_id=1
AND stu_nume="呆毛";

        删除整个表:

qrop table student;

       4.改

update 表名 set 字段1=值1......字段n=值n;

     *修改整个:

update  student set stu_nume="橘子";//将所有名字都换成了橘子

     *修改部分:加where

update  student set stu_nume="橘子",stu_age=22
where stu_nume="呆毛";//将名字为呆毛的改为名字为橘子的,年纪改为22

       5.查

select 字段1....字段n from 表名;

      *查部分:

select stu_nume from student;//查找表中的所有名字

       *查全部:

select * from student;//将表中所有内容查出来

5.php连接mySQL:(在php文件中控制数据库)

  1.登录数据库,创建连接对象(登录后有一个用户)

mysql_connect("数据库服务器的地址","用户名","密码"):返回值为连接对象

$conn = mysql_connect("localhost","root","root");

2.选择数据库:

mysql_select_db("数据库名称");

3.对数据进行操作:增删改查

 mysql_query(sql语句,连接对象);

  1.增

mysql_query("insert into student values (3,'莉莉',19,'M')",$conn);

  2.删

mysql_query("delete from student where stu_nume='呆毛'",$conn);

3.改

mysql_query("update student set stu_nume='欢欢' where  stu_id=3",$conn);

 ******4.查(返回结果集,类似一张表)

mysql_num_rows(结果集):返回当前结果集对应的记录数

   1.通常作为登录注册的判断条件

 //判断相应的数据库中是否有stu_nume为呆毛的信息,有则登录成功,没有则登录失败
$result = mysql_query("select * from student  where stu_nume='呆毛'",$conn);
           if(mysql_num_rows($result)==1){
               echo "登录成功";
           }else{
               echo "登录失败";
           }

   2.用来获取数据库中的某条记录

 musql_fetch_assoc(结果集):返回当前游标所指向的记录,以对象的方式存储

           注意事项:mysql_fetch_assoc方法每执行完一次,游标会自动下移

//将数据库中的所有内容显示在页面上
 $result = mysql_query("select * from student ",$conn);
           while($obj = mysql_fetch_assoc($result)){
               echo $obj["stu_id"]."".$obj["stu_nume"]."".$obj["stu_age"]."".$obj["stu_gender"].""."<br>";
           }

4.关闭连接对象:

mysql_close(连接对象);

mysql_close($conn);//关闭

6.模拟登录或注册:

html页面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <form action="denglu.php" method="POST">
        ID: <input type="text" name="useid"><br>
        NAME: <input type="text" name="useName"><br>
        <input type="submit" value="提交">
    </form>
</body>
</html>

php页面:

<?php
//支持中文编码格式
  header("Content-type:text/html;charset=utf-8");

  //获取html文件提交的id和name
  $id = $_POST["useid"];
  $name=$_POST["useName"];
  //登录数据库创建连接对象
  $conn = mysql_connect("localhost","root","root");
  //如果连接成功
  if($conn){
     //选择相应数据库
      mysql_select_db("2021-9-26");
     //查找获取的id和name在数据库中是否存在
      $result =mysql_query("select * from student where stu_id=$id AND stu_nume='$name'",$conn);
      //如果存在则显示用户名已存在
      if(mysql_num_rows($result)==1){
          echo "用户名已存在";
      }else{
      //如果不存在则注册相应的数据
          echo "注册成功";
          mysql_query("inser into student values ($id,'$name',20,'M')",$conn);
      }
      //关闭连接对象
      mysql_close($conn);
  }
?>

上一篇:vue获取微博授权的URL


下一篇:Telnet client