2011-10-13 4 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 lines

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'); 

이제 내 질문에 얼마나 많은 행이 업데이트되었는지 알고 싶습니다. 메시지 또는 무엇이든지 나는 그것을 알아야한다.

그래서 어떤 아이디어 나 당신은 PHP 함수 mysql_affected_rows() 또는 mysqli_affected_rows()

를 사용하거나와 UPDATE 문을 수행 할 수 있습니다 도움을

+0

어떻게 PHP에서 이것을 부르시겠습니까? –

+0

mysql에서 일치하는 행의 수는 항상 업데이트 된 행의 수는 아님을 명심하십시오. 예를 들어 위의 update 문에서 "... set cat = 'Non-Alcoholic'..."을 사용하면 일치하는 행은 2가되지만 영향을받는 행은 0이됩니다. – JohnC

답변

2

mysql_affected_rows : 영향을받는 행의 수를 가져옵니다 이전의 MySQL 작업에서 :

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

영향을받은 행을 계산하기 위해 위의 문을 입력하십시오.

2

당신은이 코드는 당신이 그것을 할 수

<?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()

1

화면에 에코 사용하여 표시 한 후 MySQL 데이터베이스 테이블의 행 수 (항목/레코드) 카운트됩니다 mysqli::affected_rows();

관련 문제