在PHP程式設計中,增刪改查是非常基礎的操作,幾乎每個項目都會用到,本文將針對這四個操作,並傳回一個結果陣列。結果陣列的目的是在操作時,可以直接獲取操作成功與否的信息,以便程式設計更有效率。
在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()執行成功時,我們將傳回一個結果數組,表示增加操作是否成功,以及插入資料的行數。
刪除操作用的是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()執行成功時,我們將傳回一個結果數組,表示刪除操作是否成功,以及刪除資料的行數。
修改操作用的是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()執行成功時,我們將傳回一個結果數組,表示修改操作是否成功,以及修改資料的行數。
查詢操作用的是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中文網其他相關文章!