반응형
이 질문이 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
반응형
'MySql' 카테고리의 다른 글
MySQL mysql이 로그인 한 사용자를 잊어 버림 : "@ '%'사용자에게 명령이 거부 됨 (0) | 2020.10.05 |
---|---|
MySQL mysql 쇼 테이블로; 대소 문자를 무시하면서 테이블 이름으로 정렬 할 수 있습니까? (0) | 2020.10.05 |
MySQL C #을 사용하는 MySQL에 대한 매개 변수화 된 쿼리 (0) | 2020.10.05 |
MySQL 서로 다른 두 위치에서 실행되는 두 mysql 서버 간의 데이터베이스 링크 (0) | 2020.10.05 |
MySQL 오류 : " 'columnname'열은 FULLTEXT 인덱스의 일부가 될 수 없습니다." (0) | 2020.10.05 |
댓글