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页 显示:登陆成功

 

posted on 2016-03-24 14:22  一棵树2016  阅读(978)  评论(0编辑  收藏  举报