$wpdb->insert 不起作用,last_query 不显示插入“SHOW FULL COLUMNS FROM”

Posted

技术标签:

【中文标题】$wpdb->insert 不起作用,last_query 不显示插入“SHOW FULL COLUMNS FROM”【英文标题】:$wpdb->insert not working, last_query doesn't show insert "SHOW FULL COLUMNS FROM" 【发布时间】:2015-07-08 02:20:09 【问题描述】:

我运行$wpdb->insert($table, $data),其中 data 是一个具有 column_name => 值的数组,并且插入不起作用。我尝试了$wpdb->last_query,但奇怪的事情又回来了:

SHOW FULL COLUMNS FROM `table_im_trying_to_insert`

为什么最后一个查询不是我的插入?

【问题讨论】:

此代码运行良好,直到最近从 WP 4.2 更新。我将问题跟踪到与其他列没有什么不同的两列;但是,当我排除这两列时,插入有效。 “不工作”是什么意思?您收到错误消息吗? 【参考方案1】:

我发现了问题。显然,如果您尝试插入 VARCHAR 列并且列长度小于您尝试插入的长度,那么新的 WP 更新将无法正常工作。在此更新之前,它将插入它但修剪掉多余的字符。

【讨论】:

很好,这解决了问题 谢谢,如果 (wordpressknowledgelevel > before) wordpresshate++; 谢谢。节省了我的时间。 如果我能给你更多的支持,我会的。我不明白为什么 Wordpress 试图从开发人员那里抽象出这么多——如果专栏太长,请告诉我们。不要用这种无意义的东西回应。 我必须阅读答案几次才能理解它 - 它只是没有按照我的方式说明(无论如何都没有反对发布的内容)但我现在明白了。【参考方案2】:

对我来说,我将字段类型从VARCHAR 更改为TEXT,但它仍然不起作用。最后我发现utf8_general_ci排序规则的表格不支持表情符号,所以我从内容中删除了所有表情符号然后它就可以工作了。

【讨论】:

以上是关于$wpdb->insert 不起作用,last_query 不显示插入“SHOW FULL COLUMNS FROM”的主要内容,如果未能解决你的问题,请参考以下文章

安装在函数内部时,Wordpress $wpdb 更新不起作用?

Wordpress:wpdb->插入与 wpdb->prepare(wpdb->query("INSERT

$wpdb->update 或 $wpdb->insert 导致在引号前添加斜杠

Foreach 添加 wpdb->insert 添加意外的行数

从 wordpress $wpdb 获取最后插入的 id

$wpdb->插入不工作。没有错误信息