如何从$wpdb获取插入错误?

时间:2019-04-18 作者:TTT

我有这些

    $wpdb->suppress_errors(false);
    $wpdb->show_errors (true);

    $wpdbp = $wpdb->prepare($preparedQuery->query, $preparedQuery->values);
    $result = $wpdb->get_var($wpdbp);
我进一步想到了这样的事情(可能是暂时的)

    if($result === null) {
        $error = $wpdb->print_error();
        var_dump($error);
      }
我读入get_var() 文件:

返回:数据库查询结果(字符串形式),失败时返回null

我的问题是$result 插入时始终为null,即使插入成功。如何真正知道是否有错误?我想可能还有其他类型的get_ 方法?

也许我应该加上“选择1但即使这样做有效,我也不太喜欢。

1 个回复
最合适的回答,由SO网友:nmr 整理而成

要插入数据,应使用query() (documentation), get_var() 方法用于选择数据。如果遇到错误,query() 返回FALSE。

query()

此函数返回一个整数值,指示为SELECT、INSERT、DELETE、UPDATE等影响/选择的行数。

对于CREATE、ALTER、TRUNCATE和DROP SQL语句(影响整个表而不是特定行),此函数在成功时返回TRUE。如果遇到MySQL错误,函数将返回FALSE。

$result = $wpdb->query( \'insert query\' );
if ( $result === FALSE ) {
    // display error
}

相关推荐

插入到自定义表格时出错-wpdb类的对象无法转换为字符串

尝试插入自定义表时出现上述错误。我无法找出错误的原因。错误出现在第17行。非常感谢您的帮助。代码如下:<?php session_start(); require_once \"wp-load.php\"; require_once \"dbconfig.php\"; global $wpdb, $current_user; $current_user=wp_get_current_user(); $current_username = $c