您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何利用PHP+Mysql實現增刪改查,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
PHP+Mysql實現增刪改查
PHP 是一種創建動態交互性站點的強有力的服務器端腳本語言。
數據庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫。每個數據庫都有一個或多個不同的 API 用于創建,訪問,管理,搜索和復制所保存的數據。
MySQL 是一種在 Web 上使用,在服務器上運行的數據庫系統;MySQL 是非常快速,可靠,且易于使用的,支持標準的 SQL。
打開我們的wampserver服務器+Mysql可視化工具(這里我用Navicat),或則其它集成工具(Apache+PHP+Mysql)都可以。鏈接上我們的服務器
我們新建查詢來操作數據庫,先把基本的文件配置好
INSERT INTO 語法
需指定要插入數據的列名,只需提供被插入的值即可
INSERT INTO table_name VALUES (value1,value2,value3,...);
需要指定列名及被插入的值
INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...);
不指定列名向表格插入一條數據
INSERT INTO stu VALUES (null,'提莫', 1,30);
我們用第二種語法向表格插入一條數據
INSERT INTO stu (name, gender, age) VALUES ('Faker', 0,24);
SQL SELECT 語句
SELECT column_name,column_name FROM table_name;
SELECT * FROM table_name;
查詢id一列
select id from stu;
查詢當id為1的語句
select * from stu where id = 1;
因為id是唯一的,所以找到了該條數據則不用再繼續
select * from stu where id = 1 limit 1;
SQL UPDATE 語句 需要加上where語句,否則整個表格都會更新
UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value;
修改名字當id為1的時候
update stu set name='the shy' where id=1;
SQL DELETE 語法 WHERE 子句規定哪條記錄或者哪些記錄需要刪除。如果您省略了 WHERE 子句,所有的記錄都將被刪除!
DELETE FROM table_name WHERE some_column=some_value;
刪除id為2的該條學生信息
delete from stu where id = 2;
header("Content-Type:text/html;charset=utf-8"); // 1. 使用mysqli鏈接數據庫(這里使用wampserver默認的) $connection = mysqli_connect('127.0.0.1', 'root', '', 'students'); // 2. 解決識別不了數據庫文件的中文 mysqli_query($connection,"set names 'utf8';"); if (!$connection) { // 連接數據庫失敗 exit('<h2>連接數據庫失敗</h2>'); } // 每次只能查詢一條數據 $query = mysqli_query($connection, 'select * from stu;'); // 查詢所有的數據 while ($row = mysqli_fetch_assoc($query)) { var_dump($row); }
采用混編的方法,在頭部鏈接數據庫
<?php // 1.鏈接我們的數據庫 $link = mysqli_connect('127.0.0.1', 'root', '', 'students'); // 2.設置中文編碼 mysqli_query($link,"set names 'utf8';"); // 3.檢測鏈接 if ($link->connect_error) { die("連接失敗: " . $link->connect_error); } // 4.查詢數據 $query = mysqli_query($link, 'select * from stu;'); // 5.渲染數據 ?>
引入bootstrap@4(bootstrap官網下載并引入bootstrap.css)
<link rel="stylesheet" href="./lib/bootstrap.css">
使用mysqli_fetch_assoc($query)
渲染數據,因為后續需要添加(add.php),刪除(del.php),修改(edit)操作所以這里先添加
<p class="container"> <h2 class="text-center">首頁</h2> <table class="table table-bordered"> <thead> <tr> <th class="text-center">學號</th> <th class="text-center">姓名</th> <th class="text-center">性別</th> <th class="text-center">年齡</th> <th class="text-center">操作</th> </tr> </thead> <tbody> <?php while ($row = mysqli_fetch_assoc($query)): ?> <tr class="text-center"> <td><?php echo $row['id']; ?></td> <td><?php echo $row['name']; ?></td> <td><?php echo $row['gender']==1?'♀' : '♂' ; ?></td> <td><?php echo $row['age']; ?></td> <td> <a href="del.php?id=<?php echo $row['id'];?>" class="btn btn-primary">刪除</a> <a href="edit_get.php?id=<?php echo $row['id'];?>" class="btn btn-danger">修改</a> </td> </tr> <?php endwhile;?> </tbody> </table> <a class="btn btn-primary btn-block" href="add.php">添加學生信息</a></p>
我們依舊使用混編的模式,表單數據提交到本頁面,使用$_SERVER['PHP_SELF']
使得代碼魯棒性更強
使用post提交數據,記得在頁面提示信息錯誤
在頭部鏈接數據庫,插入一條數據
<?php// 1. 判斷是否是post提交// 2. 處理表單傳遞過來的數據(不能為空!empty;這里我就先不做處理了)// 3. 連接數據庫并插入一條數據// 4. 開始查詢(insert into)// 5. 判斷是否查詢成功// 6. 判斷是否插入成功`mysqli_affected_rows()`// 7. 重定向function add_user(){ $name = $_POST['name']; $age = $_POST['age']; $gender = $_POST['gender']; $link = mysqli_connect('127.0.0.1', 'root', '', 'students'); mysqli_query($link,"set names 'utf8';"); if(!link){ $GLOBALS['msg'] = '連接數據庫失敗'; return; } $query = mysqli_query($link,"INSERT INTO stu (name, gender, age) VALUES ('{$name}',{$gender},{$age});"); if (!$query) { $GLOBALS['msg'] = '查詢過程失敗'; return; } $affected = mysqli_affected_rows($link); if($affected!==1){ $GLOBALS['error_message'] = '添加數據失敗'; return; } header('Location:index.php');}if($_SERVER['REQUEST_METHOD']==='POST'){ add_user();}?>
界面
<p class="container add"> <h5 class="alert alert-primary text-center">添加學生信息</h5> <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <p class="form-group row"> <label for="name" class="col-sm-2 col-form-label">姓名</label> <p class="col-sm-10"> <input type="text" class="form-control" name="name" id="name"> </p> </p> <p class="form-group row"> <label for="gender" class="col-sm-2 col-form-label">性別</label> <p class="col-sm-10"> <input type="text" class="form-control" id="gender" name="gender"> </p> </p> <p class="form-group row"> <label for="age" class="col-sm-2 col-form-label">年齡</label> <p class="col-sm-10"> <input type="text" class="form-control" id="age" name="age"> </p> </p> <!--這里添加提示--> <?php if(!empty($GLOBALS['msg'])): ?> <p class="alert alert-warning" role="alert"> <?php echo $GLOBALS['msg']; ?> </p> <?php endif ?> <button type="submit" class="btn btn-primary btn-block">保存</button> </form></p>
點擊添加學生信息,跳轉到add.php
我們已經在主頁面已經寫好了,并傳入了id
我們根據傳入的id使用sql語句進行刪除即可
刪除完成重定向
<?php// 1. 接收傳遞過來的id if(empty($_GET['id'])){ exit('<h2>連接數據庫失敗</h2>'); } $id = $_GET['id'];// 2. 連接數據庫 $link = mysqli_connect('127.0.0.1', 'root', '', 'students'); mysqli_query($link,"set names 'utf8';");// 3. 刪除該條數據 $query = mysqli_query($link,"delete from stu where id = {$id}");// 4. 查詢失敗的處理 if (!$query) { exit('<h2>查詢數據失敗</h2>'); }// 5. 受影響的行數 $affected_rows = mysqli_affected_rows($link);// 6. 刪除失敗 if ($affected_rows <= 0) { exit('<h2>刪除失敗</h2>'); } header('Location: index.php');?>
接收index.php傳過來的id,然后根據id查詢數據(id是唯一的)
將數據渲染到界面上
通過id鏈接數據庫查詢該條數據
if(empty($_GET['id'])){ exit('<h2>必須傳入指定參數</h2>'); return; } $id = $_GET['id']; $link = mysqli_connect('127.0.0.1', 'root', '', 'students'); mysqli_query($link,"set names 'utf8';"); if(!$link){ exit('<h2>連接數據庫失敗</h2>'); } $query = mysqli_query($link,"select * from stu where id = {$id} limit 1"); if(!$query){ exit('<h2>查詢數據失敗</h2>'); } $user = mysqli_fetch_assoc($query); if(!$user){ exit('<h2>找不到你要編輯的數據</h2>'); }
界面數據渲染
<p class="container edit"> <h5 class="alert alert-primary text-center">添加學生信息</h5> <form method="post" action="edit_post.php"> <p class="form-group row"> <label for="name" class="col-sm-2 col-form-label">id</label> <p class="col-sm-10"> <input type="text" class="form-control" name="id" id="name" value="<?php echo $user['id']; ?>"> </p> </p> <p class="form-group row"> <label for="name" class="col-sm-2 col-form-label">姓名</label> <p class="col-sm-10"> <input type="text" class="form-control" name="name" id="name" value="<?php echo $user['name']; ?>"> </p> </p> <p class="form-group row"> <label for="gender" class="col-sm-2 col-form-label">性別</label> <p class="col-sm-10"> <input type="text" class="form-control" id="gender" name="gender" value="<?php echo $user['gender']; ?>"> </p> </p> <p class="form-group row"> <label for="age" class="col-sm-2 col-form-label">年齡</label> <p class="col-sm-10"> <input type="text" class="form-control" id="age" name="age" value="<?php echo $user['age']; ?>"> </p> </p> <button type="submit" class="btn btn-primary btn-block">保存</button> </form></p>
結果(生產環境中id是要隱藏的)
post提交數據,根據id修改數據
<?php var_dump($_POST); $id = $_POST["id"]; $name = $_POST['name']; $age = $_POST['age']; $gender = $_POST['gender']; $link = mysqli_connect('127.0.0.1', 'root', '', 'students'); mysqli_query($link,"set names 'utf8';"); if(!$link){ exit('<h2>連接數據庫失敗</h2>'); } //$query = mysqli_query($link,"update stu set name={$name},age={$age},gender={$gender} where id = {$id};"); var_dump("UPDATE stu SET gender={$gender},age={$age},name='{$name}' WHERE id={$id}"); $query = mysqli_query($link,"UPDATE stu SET gender={$gender},age={$age},name='{$name}' WHERE id={$id}"); if (!$query) { exit('<h2>查詢數據失敗</h2>'); } $affected = mysqli_affected_rows($link); if($affected!==1){ exit('<h2>找不到你要編輯的數據</h2>'); } header('Location:index.php'); ?>
感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何利用PHP+Mysql實現增刪改查”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。