PHP中的mysql_affected_rows函數(mysqlaffectedrow函數)是用于獲取最近一次MySQL操作所影響的行數的方法。如果最近一次操作是INSERT、UPDATE或DELETE語句,則該函數返回受影響的行數。 如果前一個查詢是SELECT, SHOW、DESCRIBE或EXPLAIN語句,該函數將返回0。 如果發生錯誤,則返回-1。
下面舉個例子:我們執行一條UPDATE語句,將students表中name為Tom的學生的年齡改為20歲。
$sql = "UPDATE students SET age = 20 WHERE name = 'Tom'"; $result = mysql_query($sql); if (!$result) { die('Invalid query: ' . mysql_error()); } echo mysql_affected_rows(); // 輸出受影響的行數
運行以上代碼,如果name為Tom的學生存在,則輸出1,表示成功修改了一條記錄。如果name為Tom的學生不存在,則輸出0,表示沒有修改任何記錄。
我們再看一個例子:執行一條INSERT語句,將一條新紀錄插入到students表中。
$sql = "INSERT INTO students (name, age) VALUES ('John', 22)"; $result = mysql_query($sql); if (!$result) { die('Invalid query: ' . mysql_error()); } echo mysql_affected_rows(); // 輸出受影響的行數
運行以上代碼,輸出1,表示成功插入了一條記錄。
需要注意的是,如果我們執行了一條相同的INSERT語句,但是數據已經存在,則mysql_affected_rows函數同樣會返回1,因為MySQL認為影響的行數包括了試圖插入的記錄和已經存在的記錄。
另外,如果需要獲取受影響的行數,還可以使用mysqli_affected_rows或PDO的rowCount方法。
總的來說,mysql_affected_rows函數可以幫助我們判斷數據庫操作是否成功,并且獲取到受影響的行數。在實際開發中,我們可以根據受影響的行數來判斷是否需要進行后續的操作,例如如果更新了10條記錄,則我們可以根據受影響的行數來記錄日志或發送消息。
上一篇oracle -1034
下一篇CSS圓角屬性內凹