$ wpdb->插入不起作用.没有错误消息

 mobiledu2502891787 发布于 2023-02-10 11:25

这里的下半部分排序,但现在插入记录时出现问题.我有格式化为字符串的NULL值,但它不插入它的插入.mySQL表中的列格式是.有任何想法吗?file%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_time是一个很长的浮动1387175380.9600,$working_form是一个字符串.

什么都没有被退回,即使是if( !$insert )支票,所以我猜测它在此之前的某个地方犯了错误.我知道这if( !$result )将返回true,因为该数据尚不存在.

发现了这个问题.由于错过了一段时间,get_results查询失败了.我的HS英语老师是对的......错过了一段时间可能是一个巨大的问题!

3 个回答
  • 也许您的配置隐藏错误显示.你试过$wpdb->print_error();吗?

    2023-02-10 11:27 回答
  • https://core.trac.wordpress.org/ticket/323​​15

    列输入之一可能比列大。WordPress会检测到这一点,甚至不会将查询发送到数据库。

    此处的Diff显示了wp-db的补丁,您可以将其放入last_error消息中以获取更多信息,因此该消息不会为空。

    2023-02-10 11:27 回答
  • 如果要获取最后一个错误和最后一个查询,可以使用$ wpdb对象的这个属性:

    $wpdb->last_error 
    

    会告诉你最后一个错误,如果有的话.

    $wpdb->last_query 
    

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

    我希望这会帮助你.

    2023-02-10 11:28 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有