2017-11-30 7 views
0

, 나는 mysqli_stmt_execute으로 다음과 같은 쿼리를 실행하면 :PHP에서 MySQL 쿼리의 영향을받는 행을 얻으려면 어떻게해야합니까? PHP에서

UPDATE users 
SET hair_color = 'brown' 
WHERE height > 180; 

가 어떻게 테이블의 행이 실제로 쿼리에 의해 업데이트 영향을받은 알아낼 수 있습니까?

DB 트리거 등을 사용하지 않고이 문제를 PHP에서만 해결하려고합니다. 매우 구체적으로 말하자면이 질문은 DB에서 모든 트리거를 제거하려고하기 때문에 발생했습니다.

+0

http://php.net/manual/en/mysqli.affected-rows.php – Noman

+0

그렇게하지 영향을받는 행을 얻기 위해 mysqli_stmt_affected_rows()을 사용할 수 있습니다 영향을받는 행의 수를 원한다면, 나는 실제 행을 되 돌린다. 또는 영향을받은 행의 기본 키 등 – HartleySan

+4

[UPDATE/DELETE in mysql과 영향을받은 행 ID 목록을 가져올 수 있습니까?] (https://stackoverflow.com/questions/8873805/update-delete- mysql-and-get-the-affected-row-ids) –

답변

1
$string="UPDATE users SET hair_color = 'brown' WHERE height > 180"; 
//Update Query String which will perform in update query 

$update_query=mysqli_query($connection,$string); 
//by this we are actually running our update queries.  

$total_affected_rows=mysqli_affected_rows($con); 
//By this line you will get total affected rows 

//if you need to select and show all the affected rows then you can make a 
//query 

$sql=mysqli_query($con,"SELECT * FROM users WHERE height > 180"); 
+0

이것이 DB 트리거를 사용하지 않고이 문제를 처리하는 유일한 방법 이었기 때문에 이것을 올바른 대답으로 표시했습니다. UPDATE와 동일한 WHERE 절이있는 SELECT.은 UPDATE 이전 또는 이후에 실행될 수 있습니다. 감사. – HartleySan