首頁 > 後端開發 > PHP問題 > php增刪改查有結果數組

php增刪改查有結果數組

王林
發布: 2023-05-19 17:42:08
原創
429 人瀏覽過

在PHP程式設計中,增刪改查是非常基礎的操作,幾乎每個項目都會用到,本文將針對這四個操作,並傳回一個結果陣列。結果陣列的目的是在操作時,可以直接獲取操作成功與否的信息,以便程式設計更有效率。

  1. 增加

在PHP中,增加操作用的是INSERT INTO語句,語法如下:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
登入後複製

其中,table_name是要插入資料的表格名,column1、column2等是表格中要插入資料的列名,再透過VALUES關鍵字加入對應的資料。

完成插入資料後,可以透過mysqli_affected_rows()函數取得到插入行數,根據行數的值,可以判斷是否插入成功。

下面給出一段範例程式碼:

//连接到数据库
$conn = mysqli_connect($servername, $username, $password, $dbname);

//设置字符集
mysqli_set_charset($conn, "utf8");

//SQL语句
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";

//执行SQL语句
if (mysqli_query($conn, $sql)) {
    $result = array(
            'status' => true,
            'message' => '插入成功',
            'row' => mysqli_affected_rows($conn)
    );
} else {
    $result = array(
            'status' => false,
            'message' => '插入失败: ' . mysqli_error($conn),
            'row' => mysqli_affected_rows($conn)
    );
}

//关闭数据库连接
mysqli_close($conn);

//返回结果数组
return $result;
登入後複製

在程式碼中,當mysqli_query()執行成功時,我們將傳回一個結果數組,表示增加操作是否成功,以及插入資料的行數。

  1. 刪除

刪除操作用的是DELETE FROM語句,語法如下:

DELETE FROM table_name WHERE some_column = some_value
登入後複製

其中,table_name是要刪除資料的表格名,WHERE語句是用來過濾資料的條件。

完成刪除資料後,同樣可以透過mysqli_affected_rows()函數取得到刪除行數,根據行數的值,可以判斷是否刪除成功。

下面給出一段範例程式碼:

//连接到数据库
$conn = mysqli_connect($servername, $username, $password, $dbname);

//设置字符集
mysqli_set_charset($conn, "utf8");

//SQL语句
$sql = "DELETE FROM MyGuests WHERE id=3";

//执行SQL语句
if (mysqli_query($conn, $sql)) {
    $result = array(
            'status' => true,
            'message' => '删除成功',
            'row' => mysqli_affected_rows($conn)
    );
} else {
    $result = array(
            'status' => false,
            'message' => '删除失败: ' . mysqli_error($conn),
            'row' => mysqli_affected_rows($conn)
    );
}

//关闭数据库连接
mysqli_close($conn);

//返回结果数组
return $result;
登入後複製

在程式碼中,當mysqli_query()執行成功時,我們將傳回一個結果數組,表示刪除操作是否成功,以及刪除資料的行數。

  1. 修改

修改操作用的是UPDATE語句,語法如下:

UPDATE table_name SET column1=value1, column2=value2, ...
WHERE some_column=some_value
登入後複製

其中,table_name是要修改資料的表名,SET語句用來設定新值,WHERE語句用來過濾資料的條件。

完成修改資料後,同樣可以透過mysqli_affected_rows()函數取得到修改行數,根據行數的值,可以判斷是否修改成功。

下面給出一段範例程式碼:

//连接到数据库
$conn = mysqli_connect($servername, $username, $password, $dbname);

//设置字符集
mysqli_set_charset($conn, "utf8");

//SQL语句
$sql = "UPDATE MyGuests SET lastname='Doe' WHERE id=2";

//执行SQL语句
if (mysqli_query($conn, $sql)) {
    $result = array(
            'status' => true,
            'message' => '修改成功',
            'row' => mysqli_affected_rows($conn)
    );
} else {
    $result = array(
            'status' => false,
            'message' => '修改失败: ' . mysqli_error($conn),
            'row' => mysqli_affected_rows($conn)
    );
}

//关闭数据库连接
mysqli_close($conn);

//返回结果数组
return $result;
登入後複製

在程式碼中,當mysqli_query()執行成功時,我們將傳回一個結果數組,表示修改操作是否成功,以及修改資料的行數。

  1. 查詢

查詢操作用的是SELECT語句,語法如下:

SELECT column1, column2, ...
FROM table_name
WHERE some_column=some_value
登入後複製

其中,column1、column2等是要查詢的列名, FROM語句指定要查詢的表格名,WHERE語句用來篩選資料的條件。

完成查詢後,需要使用mysqli_fetch_assoc()函數將查詢結果轉換為陣列。若查詢結果為空,則傳回空的陣列。

下面給出一段範例程式碼:

//连接到数据库
$conn = mysqli_connect($servername, $username, $password, $dbname);

//设置字符集
mysqli_set_charset($conn, "utf8");

//SQL语句
$sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY lastname";

//执行SQL语句
$result = mysqli_query($conn, $sql);

//将查询结果转化为数组
if (mysqli_num_rows($result) > 0) {
    $data = array();
    while($row = mysqli_fetch_assoc($result)) {
        $data[] = $row;
    }
    $result = array(
            'status' => true,
            'message' => '查询成功',
            'data' => $data
    );
} else {
    $result = array(
            'status' => true,
            'message' => '查询成功,但无数据',
            'data' => array()
    );
}

//关闭数据库连接
mysqli_close($conn);

//返回结果数组
return $result;
登入後複製

在程式碼中,我們先執行SQL語句,取得查詢結果$result。接著,使用mysqli_num_rows()函數判斷查詢結果是否為空,若不為空,則使用mysqli_fetch_assoc()函數將查詢結果轉換為數組,取得到查詢資料的行數,傳回結果數組;若查詢結果為空,則直接傳回結果數組。

透過上述四個運算的結果數組,我們可以更有效率地處理數據,增加PHP程式效率。

以上是php增刪改查有結果數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板