php与mysql实现用户数据的增删改查
首先可创建一个保存常量的config.php:
<?php define("MYSQL_HOST","localhost"); define("MYSQL_USER","root"); define("MYSQL_PW","");然后再创建一个保存函数的文件functions.php:
<?php require_once "config.php"; function connnetDb(){ //连接mysql数据库 $conn=mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PW); //排除连接数据库异常错误 if(!$conn){ die("can not connect db"); } //在mysql中选中myapp数据库 mysql_select_db("myapp"); return $conn; }一.查询数据库
创建主文件allusers.php,将数据库myapp的数据表user的所有输出在html页面上,并添加“添加用户、修改、删除”的链接;
<?php require_once "functions.php"; ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>所有用户</title> <style> table{ border-collapse: collapse; } th,td{ border:1px solid #ccccff; padding: 5px; } td{ text-align: center; } </style> </head> <body> <a href="adduser.html">添加用户</a> <table> <tr><th>id</th><th>名字</th><th>年龄</th><th>修改/删除</th></tr> <?php //连接数据库 connnetDb(); //查询数据表中的所有数据,并按照id降序排列 $result=mysql_query("SELECT * FROM users ORDER BY id DESC"); //获取数据表的数据条数 $dataCount=mysql_num_rows($result); //echo $dataCount; //打印输出所有数据 for($i=0;$i<$dataCount;$i++){ $result_arr=mysql_fetch_assoc($result); $id=$result_arr["id"]; $name=$result_arr["name"]; $age=$result_arr["age"]; //print_r($result_arr); echo "<tr><td>$id</td><td>$name</td><td>$age</td><td><a href="edituser.php?id=$id">修改</a> <a href="deleteuser.php?id=$id">删除</a></td></tr>"; } ?> </table> </body> </html>可获得连接数据库后查询数据得到的页面:
二.添加数据
新建adduser.html页面,提供用户输入表单:
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>添加用户</title> </head> <body> <form action="adduser.php" method="post"> <label>用户名:</label><input type="text" name="name"> <label>年龄:</label><input type="text" name="age"> <input type="submit" value="提交"> </form> </body> </html>
创建处理用户表单数据的服务端文件adduser.php,并将添加的数据返回到列表页面
<?php require_once "functions.php"; //首先进行非空排错 if(!isset($_POST["name"])){ die("name is not define"); } if(!isset($_POST["age"])){ die("age is not define"); } $name=$_POST["name"]; $age=$_POST["age"]; if(empty($name)){ die("name is empty"); } if(empty($age)){ die("age is empty"); } //连接数据库 connnetDb(); //执行类型转换,防止SQL注入 $age=intval($age); //插入数据 mysql_query("INSERT INTO users(name,age) VALUES ("$name",$age)"); //返回列表页面 if(mysql_error()){ echo mysql_error(); }else{ header("Location:allusers.php"); }
点击主页面的“添加用户”,跳转到adduser.html页面,输入数据:
呈现的结果为:
特别提醒的是:字符串数据一定要加引号,非字符串一定要进行类型转换,防止SQL注入,以保证数据库安全。
三.修改数据
创建edituser.php,获取需要修改的数据并呈现成表单,供用户修改数据,然后提交给服务端edituser_server.php处理:
<?php require_once "functions.php";?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>修改用户数据</title> </head> <body> <?php if(!empty($_GET["id"])){ //连接mysql数据库 connnetDb(); //查找id $id=intval($_GET["id"]); $result=mysql_query("SELECT * FROM users WHERE id=$id"); if(mysql_error()){ die("can not connect db"); } //获取结果数组 $result_arr=mysql_fetch_assoc($result); }else{ die("id not define"); } ?> <form action="edituser_server.php" method="post"> <label>用户ID:</label><input type="text" name="id" value="<?php echo $result_arr["id"]?>"> <label>用户名:</label><input type="text" name="name" value="<?php echo $result_arr["name"]?>"> <label>用户年龄:</label><input type="text" name="age" value="<?php echo $result_arr["age"]?>"> <input type="submit" value="提交修改"> </form> </body> </html>
创建服务端edituser_server.php处理修改的数据,并返回到主页面allusers.php。
<?php require_once "functions.php"; if(empty($_POST["id"])){ die("id is empty"); } if(empty($_POST["name"])){ die("name is empty"); } if(empty($_POST["age"])){ die("age is empty"); } $id=intval($_POST["id"]); $name=$_POST["name"]; $age=intval($_POST["age"]); //连接数据库 connnetDb(); //修改指定数据 mysql_query("UPDATE users SET name="$name",age=$age WHERE id=$id"); //排错并返回 if(mysql_error()){ echo mysql_error(); }else{ header("Location:allusers.php"); }
点击主页面其中一个修改按钮,跳转到修改数据的表单,并将该用户的年龄修改为26:
点击提交修改,回到主页面,可看到数据已修改:
四.删除数据
创建deleteuser.php,执行删除操作后返回主页面
<?php require_once "functions.php"; //排空错误 if(empty($_GET["id"])){ die("id is empty"); } //连接数据库 connnetDb(); $id=intval($_GET["id"]); //删除指定数据 mysql_query("DELETE FROM users WHERE id=$id"); //排错并返回页面 if(mysql_error()){ echo mysql_error(); }else{ header("Location:allusers.php"); }点击主页面一个删除按钮,可直接删除相应数据:
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。