php - $wpdb - 它在失败时返回什么?

标签 php mysql wordpress ezsql

我不确定这个问题是 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(表示失败的 bool 值)和 0(表示没有行的整数)之间的区别返回。)

如果使用== 进行比较,false0 是相等的。因此,您需要使用 === 运算符来检查您处理的是 bool 值 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.

参见 the PHP manual有关 === 比较运算符的更多信息。

关于php - $wpdb - 它在失败时返回什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6529242/

相关文章:

php - Custom Drupal 7 Field 只保存第一个字符

mysql - MySQL 是否支持检查约束?

python - 即使在提交更改后,MySQL-python 连接也看不到在另一个连接上对数据库所做的更改

mysql - 添加基于多个条件的最短日期列

linux - 服务器总是在 url 中添加后缀

php - Woocommerce:如何在购物车中只允许一种产品类型?

php - 如何在同一台服务器上内部连接两个不同 mysql 数据库中的两个表?

php - MYsql更新新用户问题

javascript - WP 音频简码和 AJAX

wordpress - WordPress 3 中的 "Featured Image"或 "Thumbnail"?