$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 导致在引号前添加斜杠