PHP中提供了一個很實用的函數(shù),即mysqli_affected_rows()。這個函數(shù)用來獲取MySQL數(shù)據(jù)庫中執(zhí)行UPDATE、DELETE或INSERT語句所影響的行數(shù)。在實際的開發(fā)中,這個函數(shù)會經(jīng)常用到,因此了解它的用法是非常有必要的。
舉個例子,假設(shè)我們有一個user表,其中存儲了用戶的姓名、年齡和住址等信息。我們想要刪除住址為“北京”的用戶信息,可以使用以下代碼:
$conn = mysqli_connect("localhost", "root", "password", "test"); $sql = "DELETE FROM user WHERE address = '北京'"; $result = mysqli_query($conn, $sql); if (mysqli_affected_rows($conn) >0) { echo "刪除了" . mysqli_affected_rows($conn) . "條記錄"; } else { echo "沒有找到符合條件的記錄"; }以上代碼中,先建立了一個連接,然后執(zhí)行了一條DELETE語句。接著使用mysqli_affected_rows()函數(shù)獲取受影響的行數(shù),并根據(jù)情況輸出相應(yīng)的信息。這樣我們就可以非常方便地了解到DELETE操作是否成功。 除了DELETE語句,UPDATE和INSERT語句的使用也是非常相似的。我們可以在UPDATE語句中使用WHERE子句指定更新的條件,而在INSERT語句中則是通過VALUES關(guān)鍵字插入新的數(shù)據(jù)。
//UPDATE語句示例 $sql = "UPDATE user SET age = 25 WHERE name = '張三'"; $result = mysqli_query($conn, $sql); if (mysqli_affected_rows($conn) >0) { echo "更新了" . mysqli_affected_rows($conn) . "條記錄"; } else { echo "沒有找到符合條件的記錄"; } //INSERT語句示例 $sql = "INSERT INTO user (name, age, address) VALUES ('李四', 22, '上海')"; $result = mysqli_query($conn, $sql); if (mysqli_affected_rows($conn) >0) { echo "插入了" . mysqli_affected_rows($conn) . "條記錄"; } else { echo "插入失敗"; }有時候我們會需要一次執(zhí)行多個SQL語句,這時候由于mysqli_affected_rows()函數(shù)只能獲取上一條SQL語句影響的行數(shù),因此需要注意一下。如果要獲取多條SQL語句影響的行數(shù),可以使用mysqli_multi_query()函數(shù)一次性執(zhí)行多條SQL語句,然后使用mysqli_affected_rows()函數(shù)分別獲取每條SQL語句影響的行數(shù)。
//多條SQL語句示例 $sql = "DELETE FROM user WHERE age >30; UPDATE user SET age = 30 WHERE age = 29; INSERT INTO user (name, age, address) VALUES ('王五', 38, '廣州')"; mysqli_multi_query($conn, $sql); $count = 0; do { if ($result = mysqli_store_result($conn)) { $count += mysqli_affected_rows($conn); mysqli_free_result($result); } } while (mysqli_more_results($conn) && mysqli_next_result($conn)); echo "執(zhí)行了" . $count . "條記錄";以上代碼中,使用了mysqli_multi_query()函數(shù)一次性執(zhí)行了三條SQL語句,然后通過mysqli_affected_rows()函數(shù)和mysqli_more_results()函數(shù)獲取了三條SQL語句分別影響的行數(shù),并將它們相加得到了總的影響行數(shù)。 總結(jié)來說,mysqli_affected_rows()函數(shù)是非常實用的一款函數(shù),可以輕松獲取MySQL數(shù)據(jù)庫中執(zhí)行UPDATE、DELETE或INSERT語句所影響的行數(shù)。在實際的開發(fā)中,它會經(jīng)常使用到,因此大家需要多多了解它的用法。
下一篇php agency