1. 程式人生 > >php與mysql實現使用者資料的增刪改查

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");
}
點選主頁面一個刪除按鈕,可直接刪除相應資料: