MySQL 從資料庫中刪除資料

刪除資料。

簡述

一般是建議前端用 POST 來帶資料,這邊是偷懶才用 GET

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
require_once('conn.php');

// 取得前端送來的資料
$id = $_GET['id'];
// 檢查是不是空值
if (empty($id)) {
die('請輸入 id');
}

// sprintf 寫法
$sql2 = sprintf('DELETE FROM users WHERE id=%d', $id);
// 下 query 指令
$result = $conn->query($sql2);
// 檢查回傳值
if (!$result) {
die($conn->error);
}
// 檢查影響了幾列(看下面補充內容)
if ($conn->affected_rows >= 1) {
echo '刪除成功';
} else {
echo '查無資料';
}
>

要特別注意的是,對 MySQL 來說只有「對不存在的欄位做操作」才算是錯誤,不然只會被視為是「影響不存在的資料」而已,參考這個例子:

1
2
3
4
5
<?php
require_once('conn.php');
$result = $conn->query('DELETE FROM users WHERE id=200');
echo $result // 1,代表執行成功
?>

affect-zero-row

這時候如果只檢查 $result 就不太精準,建議加上 $conn->affected_rows 來查看實際影響了幾列:

1
2
3
4
5
6
<?php
require_once('conn.php');
$result = $conn->query('DELETE FROM users WHERE id=32');
echo $result . '<br>'; // 1
echo $conn->affected_rows; // 0
?>

大概就是這樣囉。

MySQL 修改資料庫中的資料 MySQL 建立新資料到資料庫
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×