php與mysql實現使用者資料的增刪改查
阿新 • • 發佈:2019-02-19
首先可建立一個儲存常量的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");
}
點選主頁面一個刪除按鈕,可直接刪除相應資料: