2011-10-13 61 views
0

我要更新很多數據庫行,我想知道我已更新了多少行。如何知道有多少mysql行更新

例子:如果我數據庫以下4行

INSERT INTO `drink` VALUES (1, 'Non-Alcoholic', 'tea'); 
INSERT INTO `drink` VALUES (2, 'Non-Alcoholic', 'tea'); 
INSERT INTO `drink` VALUES (3, 'Non-Alcoholic', 'coffee'); 
INSERT INTO `drink` VALUES (4, 'Non-Alcoholic', 'pepsi'); 

,我要去使用進行更新以下

$sql= "update drink set cat='tea' WHERE cat= 'Non-Alcoholic' AND subcat = 'tea'"; 

這將是明顯的,它只會更新2行

INSERT INTO `drink` VALUES (1, 'tea', 'tea'); 
INSERT INTO `drink` VALUES (2, 'tea', 'tea'); 
INSERT INTO `drink` VALUES (3,'Non-Alcoholic', 'coffee'); 
INSERT INTO `drink` VALUES (4,'Non-Alcoholic', 'pepsi'); 

現在我的問題我怎麼知道它有更新的行數,我希望它被顯示爲消息或其他,但我必須知道它。

所以任何想法或如何做到這一點 謝謝大家幫忙

+0

你怎麼在你的php調用這個? –

+0

請記住,在mysql中匹配的行數並不總是更新的行數。例如,在上面的更新語句中,如果您使用「... set cat ='Non-Alcoholic'...」,則匹配的行將爲2,但受影響的行將爲0。 – JohnC

回答

2

mysql_affected_rows:獲取受影響的行數在之前的MySQL操作中:

... 
$updated_count = mysql_affected_rows(); 
... 

將上述語句放在您的查詢之後以統計受影響的行。

-1

此代碼將在MySQL數據庫中的表數行(入口/記錄)的數量,然後使用echo在屏幕上

<?php 



// Connect to the database 
db_connect(); 

// Query the database and get the count 
$result = mysql_query("SELECT * FROM drink"); 
$num_rows = mysql_affected_rows($result); 

// Display the results 
echo $num_rows; 

?> 
1

你可以做到這一點顯示PHP:mysql_affected_rows()或在C:mysql_info()

相關問題