开发者

$wpdb - what does it return on fail?

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

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜