• 2016/3/24 ①数据库与php连接 三种输出fetch_row()、fetch_all()、fetch_assoc() ②增删改时判断(布尔型) ③表与表之间的联动 ④下拉菜单 ⑤登陆 三个页面


     ①数据库与php连接   图表      

     1 header("content-type:text/html;charset=utf-8");
     2 //第一种方式:
     3 //1,生成连接,连接到数据库上的服务器
     4 // localhost:主机位置,如果是网络上的要写Ip地址
     5 // root:服务器管理员   ”123“  密码
     6 @$test=mysql_connect("localhost","root","123");
     7 //2,选择数据库
     8 mysql_select_db("test3",$test);
     9 //3,写SQL语句
    10 $sql="select * from student";//查询方式
    11 //$sql="delete from student where Sno='101'";
    12 //如果是增删改如上 返回的是个布尔值成功显示的是1
    13 //4,执行SQL语句
    14 $result=mysql_query($sql);
    15 //5,提取数据  fetch_row 逐条提取每一行
    16 while($array=mysql_fetch_row($result))
    17 {
    18     print_r($array);
    19 }

     1 //第二种方式  面向对象的方式
     2 //1,生成连接对象
     3 //$db=new mysqli("服务器名","用户名","密码","数据库");
     4 $db=new mysqli("localhost","root","123","test3");
     5 //2,判断是否连接成功
     6 !mysqli_connect_error() or die ("连接失败!");
     7 //相当于{echo "连接失败!"; exit;//直接退出程序} 
     8     //3,写sql语句
     9     $sql="select * from student";
    10 //4,执行sql语句
    11      $result=$db->query($sql);
    12 //5,操作结果
    13     $row=$result->fetch_row();
    14     
    15     print_r($row);//取一条 用while循环  遍历
    16     //①用fetch_row();
    17     while ($row=$result->fetch_row()) {
    18         print_r($row);
    19         echo "<br>";
    20         }

    显示:

    接上例代码
    1
    //②用fetch_all(); 2 $arra=$result->fetch_all();//一次返回所有的数据,以二维数组形式返回 3 print_r($arra);

    显示:

    接上上例代码
    1
    //③fetch_assoc();以关联数组的形式返回 2 while($array=$result->fetch_assoc()){ 3 print_r($array); 4 echo "<br>"; 5 }

    显示:

    ②增删改时判断(布尔型)

     1 //1,生成连接对象
     2 //$db=new mysqli("服务器名","用户名","密码","数据库");
     3 $db=new mysqli("localhost","root","123","test2");
     4 //2,判断是否连接成功
     5 !mysqli_connect_error() or die ("连接失败!");
     6 //相当于{echo "连接失败!"; exit;//直接退出程序} 
     7 //3,写sql语句
     8 $sql="delete from nation where Code='n001'";
     9 //4,执行sql语句
    10      $result=$db->query($sql);
    11     if ($result) {  
    12            echo "增删改成功";
    13    }
    14    else{
    15            echo "增删改失败";
    16    }

     1 //1,生成连接对象
     2 //$db=new mysqli("服务器名","用户名","密码","数据库");
     3 $db=new mysqli("localhost","root","123","test2");
     4 //2,判断是否连接成功
     5 !mysqli_connect_error() or die ("连接失败!");
     6 //相当于{echo "连接失败!"; exit;//直接退出程序} 
     7 //3,写sql语句
     8  $sql="insert into nation  values('n001','汉族')";
     9     // //4,执行sql语句
    10      $result=$db->query($sql);
    11     if ($result) {  
    12            echo "增删改成功";
    13    }
    14    else{
    15            echo "增删改失败";
    16    }

    ③表与表之间的联动

       制表

     1 <?php 
     2 header("content-type:text/html;charset=utf-8");
     3 //1,建立连接
     4 $db=new mysqli("localhost","root","123","test2");
     5 //2,判断是否有问题
     6 !mysqli_connect_error() or die("连接失败!");
     7 //3,写Sql语句
     8 $sql="select * from info";
     9 //4,执行Sql语句
    10 $result=$db->query($sql);
    11 //5,操作输出结果
    12 //$row=$result->fetch_row();//单独输出一条
    13 //显示
    14 echo"<table width=100% border=1 cellspacing='0' cellpadding='0'>";
    15 echo "<tr><td>代号</td><td>姓名</td><td>性别</td><td>民族</td><td>生日</td></tr>";
    16 while($row=$result->fetch_row()){//循环输出
    17         //$sex=$row[2]?"男":"女";
    18 
    19     echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$sex</td><td>$row[3]</td><td>$row[4]</td></tr>";
    20 }
    21 
    22 echo"</table>"
    23 
    24  ?>

    显示:

    $sex=$row[2]?"男":"女";  通过三位运算符转换

    表与表之间的联动①全式

     1 <?php 
     2 header("content-type:text/html;charset=utf-8");
     3 //1,建立连接
     4 $db=new mysqli("localhost","root","123","test2");
     5 //2,判断是否有问题
     6 !mysqli_connect_error() or die("连接失败!");
     7 //3,写Sql语句
     8 $sql="select * from info";
     9 //4,执行Sql语句
    10 $result=$db->query($sql);
    11 //5,操作输出结果
    12 //$row=$result->fetch_row();//单独输出一条
    13 //显示
    14 echo"<table width=100% border=1 cellspacing='0' cellpadding='0'>";
    15 echo "<tr><td>代号</td><td>姓名</td><td>性别</td><td>民族</td><td>生日</td></tr>";
    16 while($row=$result->fetch_row()){//循环输出
    17         $sex=$row[2]?"男":"女";
    18         $minzu=ShowNation($row[3]);
    19     echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$sex</td><td>$minzu</td><td>$row[4]</td></tr>";
    20 }
    21 
    22 echo"</table>";
    23 
    24 function ShowNation($Code)
    25 {
    26      //1,建立连接
    27     $db=new mysqli("localhost","root","123","test2");
    28     //2,判断是否有问题
    29     !mysqli_connect_error() or die("连接失败!");
    30     //3,写Sql语句
    31     $sql="select Name from nation where Code='$Code'";
    32     //4,执行Sql语句
    33     $result=$db->query($sql);
    34     //5,处理显示
    35     $getrow=$result->fetch_row();
    36     return $getrow[0];
    37 }
    38 
    39 ?>

    表与表之间的联动②省略式

     1 <?php 
     2 header("content-type:text/html;charset=utf-8");
     3 //1,建立连接
     4 $db=new mysqli("localhost","root","123","test2");
     5 //2,判断是否有问题
     6 !mysqli_connect_error() or die("连接失败!");
     7 //3,写Sql语句
     8 $sql="select * from info";
     9 //4,执行Sql语句
    10 $result=$db->query($sql);
    11 //5,操作输出结果
    12 //$row=$result->fetch_row();//单独输出一条
    13 //显示
    14 echo"<table width=100% border=1 cellspacing='0' cellpadding='0'>";
    15 echo "<tr><td>代号</td><td>姓名</td><td>性别</td><td>民族</td><td>生日</td></tr>";
    16 while($row=$result->fetch_row()){//循环输出
    17         $sex=$row[2]?"男":"女";
    18         $minzu=ShowNation($db,$row[3]); //注销方法ShowNation下的前两步链接和确认  把参数$db加入  传值
    19     echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$sex</td><td>$minzu</td><td>$row[4]</td></tr>";
    20 }
    21 
    22 echo"</table>";
    23 
    24 function ShowNation($db,$Code)  //注销下面的前两步连接和确认  把参数$db加入  接受传值  连接少了开销小了  提高效率
    25 {
    26      //1,建立连接
    27     // $db=new mysqli("localhost","root","123","test2");
    28     // //2,判断是否有问题
    29     // !mysqli_connect_error() or die("连接失败!");
    30     //3,写Sql语句
    31     $sql="select Name from nation where Code='$Code'";
    32     //4,执行Sql语句
    33     $result=$db->query($sql);
    34     //5,处理显示
    35     $getrow=$result->fetch_row();
    36     return $getrow[0];
    37 }
    38 
    39 
    40 
    41 ?>

    效果一样:

    ④下拉菜单    

     1 <select>
     2 <?php 
     3 header("content-type:text/html;charset=utf-8");
     4 //造链接对象
     5 $db=new mysqli("localhost","root","123","test2");
     6 //判断是否出错
     7 !mysqli_connect_error()or die("连接失败!");
     8 //写sql语句
     9 $sql="select * from nation";
    10 //执行sql语句
    11 $result=$db->query($sql);
    12 //处理数据并显示
    13 $array=$result->fetch_all();
    14 for($i=0;$i<count($array);$i++)
    15 {
    16     list($Code,$Name)=$array[$i];
    17     echo "<option value='$Code'>$Name</option>";
    18 }
    19  ?>
    20  </select>

    显示:

    ⑤登陆  三个页面  登陆  处理   主页

     1 //test7denglu.php
     2 <!DOCTYPE html>
     3 <html lang="en">
     4 <head>
     5     <meta charset="UTF-8">
     6     <title>Document</title>
     7 </head>
     8 <body>
     9     <form action="test7chulilogin.php" method="post">
    10 
    11     <div>
    12         用户名:
    13         <input type="text" name="uid"/>
    14     </div>
    15     <div>
    16&nbsp&nbsp&nbsp码:
    17         <input type="text" name="pwd"/>
    18     </div>
    19     <div>
    20         
    21         <input type="submit" name="登录"/>
    22     </div>
    23 
    24     </form>    
    25 </body>
    26 </html>

    //test7chulilogin.php

     1 <?php 
     2 $uid=$_POST["uid"];  
     3 //POST必须大写否则传值不成功
     4 $pwd=$_POST["pwd"];
     5 
     6 //造连接对象
     7 $db=new mysqli("localhost","root","123","test2");
     8 //判断是否连接成功
     9 !mysqli_connect_error() or die("连接失败!");
    10 //写sql语句
    11 $sql="select count(*) from login where UserName='$uid'and Password='$pwd'";
    12 //执行sql语句
    13 $result=$db->query($sql);
    14 $ar=$result->fetch_row();
    15 
    16 if ($ar[0]==1)
    17 {
    18     header("location:test7main.php");
    19 }
    20 else
    21 {
    22     header("location:test7denglu.php");
    23 }
    24 
    25  ?>

    //test7main.php

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Document</title>
     6 </head>
     7 <body>
     8 登陆成功!    
     9 </body>
    10 </html>

    显示:

    输入错误跳回登陆页 test7denglu.php

    输入正确跳到test7main.php页 显示:登陆成功

  • 相关阅读:
    mysql 的事件之 Waiting for table metadata lock
    postgresl 10 的逻辑复制 logical replication 之一
    postgresql 物理备份 pg_rman
    pg_waldump pg_xlogdump 的初步使用
    centos 7 添加 aliyun yum 源、epel源
    pg_dump 迁移 prod 环境的 function 到 uat 环境
    POSTGRESQL 11 BETA 1 RELEASED!
    使用 mtools 搭架 mongodb 的自动化日志分析平台
    将xml转换为PHP数组
    php自动获取字符串编码函数mb_detect_encoding
  • 原文地址:https://www.cnblogs.com/haodayikeshu/p/5315375.html
Copyright © 2020-2023  润新知