国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

PHP開發(fā)基礎(chǔ)教程之批量和指定刪除用戶

封裝數(shù)據(jù)庫連接函數(shù)

在真實的項目中,我們是將主機(jī)、用戶名、密碼、庫都寫在配置文件當(dāng)中。
如果在代碼中寫死了,萬一數(shù)據(jù)庫服務(wù)器的相關(guān)信息發(fā)生變化了,要把所有代碼修改一次顯然不符合程序員的思維。

此外,在每一個需要連接數(shù)據(jù)庫的頁面中。我們都需要寫上連接、判斷錯誤、設(shè)置字符集、太過于麻煩。并且不利于重復(fù)使用這些代碼。

我們可以用上之前講過的include系列函數(shù)達(dá)成目標(biāo)。示例圖如下:

118.png

因此,我們可以做一個配置文件config.php。將需要使用到的配置全部設(shè)置為常量,代碼如下:

<?php
//數(shù)據(jù)庫服務(wù)器
define('DB_HOST', 'localhost');

//數(shù)據(jù)庫用戶名
define('DB_USER', 'root');

//數(shù)據(jù)庫密碼
define('DB_PWD', 'secret');

//庫名
define('DB_NAME', 'book');

//字符集
define('DB_CHARSET', 'utf8');

我們將connection.php頁面抽取出來,以后需要連接數(shù)據(jù)庫的時候只需要包含connection.php文件即可。代碼如下:

<?php

include 'config.php';

$conn = mysqli_connect(DB_HOST, DB_USER, DB_PWD, DB_NAME);

if (mysqli_errno($conn)) {
    mysqli_error($conn);
    exit;
}

mysqli_set_charset($conn, DB_CHARSET);

我們在以后每個文件使用中直接包含 connection.php文件就可以實現(xiàn)數(shù)據(jù)庫連接了:

include 'connection.php';

把上面的準(zhǔn)備工作完成,接下來完成刪除數(shù)據(jù)


批量和指定刪除用戶

在刪除前,需要判斷是刪除單行數(shù)據(jù)還是刪除多行數(shù)據(jù)。

  • 單行是通過get傳參的方式向delete.php文件中寫上對應(yīng)的ID。

  • 而多個刪除是通過POST的方式向delete.php頁面中傳遞對應(yīng)的ID。

  • 如果這兩個都不符合的話,那我們可以視為數(shù)據(jù)不合法。

if (is_array($_POST['id'])) {

    $id = join(',', $_POST['id']);

} elseif (is_numeric($_GET['id'])) {

    $id = (int) $_GET['id'];

} else {
    echo '數(shù)據(jù)不合法';
    exit;
}


組合SQL語句

我們之前給大家在MySQL這一章時講解過刪除時可以使用到in的子語句。

同樣在這里,我們就可以用in的子語句來達(dá)到效果。

join函數(shù)將多選刪除傳過來的id變?yōu)榱?,4,5的格式,最終多選刪除的SQL語句執(zhí)行出來的效果就是:

delete from user where id in(3,4,5,6,8);

而單選刪除的語句效果就是:

delete from user where id in(3)

這樣我們就實現(xiàn)了單選和多選自適應(yīng)效果。

$sql = "delete from user where id in($id)";

最終配套而成的整體代碼演示如下:

<?php

include 'connection.php';

if (is_array($_POST['id'])) {

    $id = join(',', $_POST['id']);

} elseif (is_numeric($_GET['id'])) {

    $id = (int) $_GET['id'];

} else {
    echo '數(shù)據(jù)不合法';
    exit;
}

$sql = "delete from user where id in($id)";

$result = mysqli_query($conn, $sql);

if ($result) {
    echo '刪除成功';
} else {
    echo '刪除失敗';
}


繼續(xù)學(xué)習(xí)
||
<?php include 'connection.php'; if (is_array($_POST['id'])) { $id = join(',', $_POST['id']); } elseif (is_numeric($_GET['id'])) { $id = (int) $_GET['id']; } else { echo '數(shù)據(jù)不合法'; exit; } $sql = "delete from user where id in($id)"; $result = mysqli_query($conn, $sql); if ($result) { echo '刪除成功'; } else { echo '刪除失敗'; }
提交重置代碼