文章教程

13.4.3通过PHP删除数据库数据

9/17/2020 9:26:54 PM 人评论 次浏览

13.4.3 通过PHP删除数据库数据

前两小节介绍在程序中完成插入和更新数据的操作,这小节讲述通过PHP程序操作数据库的最后一个内容——删除数据库数据。

(1)对13-7.php稍作修改,在用户列表中添加一列,在这一列中为每个用户行添加删除链接,这个链接将链接到一个完成删除功能的PHP程序。如图13-13所示。

图 13-13 添加删除链接的用户信息列表

(2)这个页面由代码13-12实现。

代码13-12 为用户信息列表添加删除链接13-12.php


01 <?php

02 $host='localhost';//定义服务器

03 $user_name='root';//定义用户名

04 $password='admin';//定义密码

05

06 $conn=mysql_connect($host,$user_name,$password);//连接MySQL

07 if(!$conn)

08 {

09 die('数据库连接失败:'.mysql_error());

10 }

11 mysql_select_db('test');//选择数据库

12

13 $sql='select id,name,city,created_time from users';

14

15 $result=mysql_query($sql)OR die("<br/>ERROR:<b>".mysql_error()."</b><br/>产生问题的SQL:".$sql);

16 ?>

17 <html>

18 <head>

19 <title>13-12.php</title>

20 <script language="javascript">

21

22 </script>

23 </head>

24 <center>

25

26 <body>

27 <table width="75%"border="0"cellpadding="0"cellspacing="1"bgcolor="#7B7B84">

28 <tr bgcolor="#8BBCC7">

29 <td height="33"><div align="center"><strong>用户ID</strong></div></td>

30 <td><div align="center"><strong>用户名称</strong></div></td>

31 <td><div align="center"><strong>来自城市</strong></div></td>

32 <td><div align="center"><strong>注册时间</strong></div></td>

33 <td><div align="center"><strong>操作</strong></div></td>

34 </tr>

35

36 <?php

37 if($num=mysql_num_rows($result))

38 {

39 while($row=mysql_fetch_array($result,MYSQL_ASSOC))

40 {

41 ?>

42 <tr bgcolor="#FFFFFF">

43 <td height="22"align="right"><?php echo$row['id'];?> </td>

44 <td height="22"> <?php echo$row['name'];?> </td>

45 <td height="22"> <?php echo$row['city'];?> </td>

46 <td height="22"> <?php echo$row['created_time'];?> </td>

47 <td height="22"> <a onclick="javascript:if(confirm('确定要删除用户信息吗?'))

48 return true;else return false;"href="13-13.php?id=<?php echo$row['id'];?>">删除</a> </td>

49 </tr>

50 <?php

51 }

52 }

53 mysql_close($conn);

54 ?>

55

56 </table>

57 </body>

58 </center>

59 </html>


【代码解析】第47行代码使用confirm()函数弹出一个确认对话框。第48行的href属性指定链接目的地并传递一个id参数。

(3)当用户在页面点击“删除”链接时,首先会弹出一个JavaScript确认对话框,如图13-14所示。

如果在这个JavaScript确认对话框中,单击“取消”按钮,程序则仍然停留在该页面。如果单击“确定”按钮,那么程序就会链接到13-13.php,在这个程序中完成从数据库中删除用户数据。请读者仔细看一下代码中JavaScript是如何实现确认和取消功能的。

图 13-14 删除确认对话框

(4)13-13. php并不复杂,甚至有些简单,13-13.php的完整代码如下所示。

代码13-13 在PHP中删除数据库数据13-13.php


01 <?php

02 if(!isset($_GET['id']))

03 {

04 echo'参数错误!';

05 exit;

06 }

07

08 $id=$_GET['id'];

09 if(empty($id))

10 {

11 echo'用户ID不能为空!';

12 exit;

13 }

14

15 $host='localhost';//定义服务器

16 $user_name='root';//定义用户名

17 $password='admin';//定义密码

18

19 $conn=mysql_connect($host,$user_name,$password);//连接MySQL

20 if(!$conn)

21 {

22 die('数据库连接失败:'.mysql_error());

23 }

24 mysql_select_db('test');//选择数据库

25

26 //先判断是否存在该ID的用户

27 $sql="select*from users where id=$id";

28 $result=mysql_query($sql)OR die("<br/>ERROR:<b>".mysql_error()."</b><br/>SQL:".$sql);

29 if(!mysql_num_rows($result))

30 {

31 echo'用户ID错误!';

32 exit;

33 }

34

35 //删除用户数据

36 $sql="delete from users where id=$id";

37 mysql_query($sql)OR die("<br/>ERROR:<b>".mysql_error()."</b><br/>SQL:".$sql);

38 mysql_close($conn);

39

40 echo'数据删除成功,返回<a href="13-12.php">13-12.php</a>查看数据';

41 ?>


【代码解析】程序最关键的是第8行和第36行,第8行获取传递过来的id参数,第36行执行删除数据的SQL语句。和修改数据一样,删除数据成功后,13-13.php会向Web页面显示一条到用户信息列表页面的链接,以便通过浏览用户列表,验证删除操作是否正确执行。

教程类别