首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新数组的MySQL字段

问更新数组的MySQL字段
EN

Stack Overflow用户
提问于 2014-11-23 13:52:18
回答 1查看 47关注 0票数 0

我使用json_encode将数据作为数组存储在我的DB字段中。数据按预期存储,一旦运行json_decode,我就可以检索和查询该数组。

代码语言:javascript
复制
if ( array_key_exists( 'my_key', json_decode( $mydb->field ) ) ) ...

我现在要做的是通过添加一个额外的$key => $value来更新这个数组,但是我无法在我的一生中找到它!

我目前正在使用..。

代码语言:javascript
复制
if( $event->cronned != '' ) {
                        $cron_update = json_decode( $event->cronned );
                    }
                    if( !is_array( $cron_update ) ) $cron_update = array();
                    $cron_update[$mdjm_schedules['balance-reminder']['slug']] = time();
                    $update_args = array(
                                'last_updated_by' => '0',
                                'last_updated'  => date( 'Y-m-d H:i:s' ),
                                'cronned'        => json_encode( $cron_update ),
                                );
                    $update_enquiry = $wpdb->update( $db_tbl, $update_args, array( 'event_id' => $event->event_id ) );

它是以数组的形式插入新值,但要重写以前的值,而不是添加到其中。

任何小费都要感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-23 13:58:31

查看PHP函数json_decode的定义:

mixed json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )

在您的示例中,您必须使用第二个参数来TRUE,因为您将解码的JSON处理为一个关联数组,而不是一个PHP对象。

特别是,您的行:if( !is_array( $cron_update ) ) $cron_update = array();

当您不使用json_decode( $event->cronned, TRUE );时,将一直执行

希望这能有所帮助。

加布里埃尔

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27089670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档