$wpdb>插入不起作用。无错误消息

2022-08-31 00:11:18

对此处的下半部分进行了排序,但现在插入记录时出现问题。我有格式化为字符串的值,但它没有插入它正在插入。mySQL 表中的列格式为 。有什么想法吗?NULLfile%sNULL[BLOB - 0B]longblob


这是我第一次使用,看起来我错过了一些东西。$wpdb->insert

这是我尝试使用的循环。数组中当前有 2 个时间戳。

for ( $i = 0; $i < count($timestamps); $i++ ) {
$working_time = $timestamps[$i];
$working_form = $formnames[$i];

$status_data = array(
    'submit_time' => $working_time,
    'form_name' => $working_form,
    'field_name' => 'lead_status',
    'field_value' => 'new',
    'field_order' => 10001,
    'file' => NULL
);
$status_data_types = array(
    '%f',
    '%s',
    '%s',
    '%s',
    '%d',
    '%s'
);

$result = $wpdb->get_results("SELECT field_value FROM ".$leadtable." WHERE submit_time = ".$working_time);

if(!$result) {              
    $insert = $wpdb->insert($leadtable, $status_data, $status_data_types);
    if( !$insert ) {
            echo 'didn\'t work';
        }
}
}

我知道这一点,并且都设置正确。 是一个长浮子,就像是一个字符串。$working_time$working_form$working_time1387175380.9600$working_form

即使通过检查也没有返回任何内容,所以我猜它在那之前的某个时候出错了。我知道这将返回 true,因为该数据尚不存在。if( !$insert )if( !$result )

发现问题。get_results查询由于错过了句点而失败。我的HS英语老师是对的...错过的时期可能是一个巨大的问题!


答案 1

如果要获取最后一个错误和最后一个查询,可以使用$wpdb对象的以下属性:

$wpdb->last_error 

将显示最后一个错误,如果您得到一个错误。

$wpdb->last_query 

将帮助您显示最后一个查询(错误发生的位置)

我希望这会帮助你。


答案 2

也许您的配置隐藏了显示错误。你试过吗?$wpdb->print_error();


推荐