【问题标题】:$wpdb->insert not working, last_query doesn't show insert "SHOW FULL COLUMNS FROM"$wpdb->insert 不起作用,last_query 不显示插入“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 更新。我将问题跟踪到与其他列没有什么不同的两列;但是,当我排除这两列时,插入有效。
  • “不工作”是什么意思?您收到错误消息吗?

标签: php mysql wordpress


【解决方案1】:

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

【讨论】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-07
    • 1970-01-01
    • 2011-01-24
    • 2015-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-12
    相关资源
    最近更新 更多