开发者

$wpdb - what does it return on fail?

开发者 https://www.devze.com 2023-03-16 03:17 出处:网络
I\'m n开发者_开发知识库ot sure whether this question is WordPress specific or is more related to mySQL.I am trying to find out what would be returned if the transaction with the database fails.

I'm n开发者_开发知识库ot sure whether this question is WordPress specific or is more related to mySQL. I am trying to find out what would be returned if the transaction with the database fails. In the following scenario, I am updating a row. If none of the values are changed false is returned. If changes are made true is returned. How can I tell if the transaction has failed?

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

Any pointers appreciated.


Take a look in wp-includes\wp-db.php. The header comments of wpdb's update function says:

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

So, I'd suspect that you want to find the difference between false (a boolean value indicating a failure) and 0 (an integer indicating that no rows were returned.)

If you compare using ==, false and 0 are equal. You therefore need to use the === operator to check whether you're dealing with the boolean false or the integer 0.

So, try these:

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.

See the PHP manual for more information on the === comparison operator.

0

精彩评论

暂无评论...
验证码 换一张
取 消