본문 바로가기
MySql

MySQL $ wpdb-실패시 무엇을 반환합니까?

by 베이스 공부 2020. 10. 5.
반응형

이 질문이 WordPress 전용인지 또는 mySQL과 더 관련이 있는지 잘 모르겠습니다. 데이터베이스와의 트랜잭션이 실패하면 반환되는 내용을 찾으려고합니다. 다음 시나리오에서는 행을 업데이트하고 있습니다. 값이 변경되지 않으면 false가 반환됩니다. 변경된 경우 true가 반환됩니다. 거래가 실패했는지 어떻게 알 수 있습니까?

$result = $wpdb->update($this->table_name, $dbfields, $where);
if($result == false)//do fail - this is not really a fail!
if($result == true)//do success

감사합니다.

 

해결 방법

 

wp-includes \ wp-db.php 를 살펴보세요. wpdb의 업데이트 기능의 헤더 주석은 다음과 같습니다.

 * @return int|false The number of rows updated, or false on error.

따라서 false (실패를 나타내는 부울 값)와 0 (행이 반환되지 않았 음을 나타내는 정수) 사이의 차이를 찾고 싶을 것입니다.

== 를 사용하여 비교하면 false 0 이 같습니다. 따라서 === 연산자를 사용하여 부울 false 또는 정수 0 을 처리하는지 확인해야합니다.

따라서 다음을 시도하십시오.

if ($result === false) // Fail -- the "===" operator compares type as well as value
if ($result === 0) // Success, but no rows were updated
if ($result > 0) // Success, and updates were done. $result is the number of affected rows.


 

참조 페이지 https://stackoverflow.com/questions/6529242

 

 

반응형

댓글