向数据库中的数组添加值

时间:2015-04-22 作者:user71025

我在WordPress站点中有一个自定义数据库,我想在其中将多个值保存到一行。

假设我有一个条目:

  • id:auto increment
  • 页面id:id当前页面
  • 时间:文本(是使用内爆创建的数组)
    • 示例:

      id  pageid  time
      1   1       121212,121314,121415
      2   2       121212,121314
      
      我试图实现的是一种扩展“时间”域的方法。每次函数关闭时,我都希望timestamp 添加到现有值。

      所以看起来是这样的:

      id  pageid  time
      1   1       121212,121314,121415, 181920
      2   2       121212,121314, 292929, 988339
      
      解决这个问题的最佳方法是什么?如何解决?

      function custom_setup_db(){
          global $wpdb;
          $table_name = "customdb"; 
          $charset_collate = $wpdb->get_charset_collate();
      
          $sql = "CREATE TABLE $table_name (
            id mediumint(9) NOT NULL AUTO_INCREMENT,
            userid mediumint(9) NOT NULL,
            timestamparray text,
            UNIQUE KEY id (id)
          ) $charset_collate;";
      
          require_once( ABSPATH . \'wp-admin/includes/upgrade.php\' );
          dbDelta( $sql );    
      }
      
      function wp_install_data(){
          global $wpdb;
      
          $table_name = \'customdb\';
          $timestamparray = array();
          array_push($timestamparray, \'121212\', \'131415\', \'121316\');
          $timeofvisit = implode(",", $timeofvisit);
      
          $wpdb->insert( 
              $table_name, 
              array( 
                  \'timeofvisit\' => $timeofvisit,
                  \'userid\' => \'2\'
              ) 
          );   
      }
      

2 个回复
SO网友:czerspalace

您的表没有timeofvisit 柱的第二个值$wpdb->insert 需要列值对,see here. 尝试

$wpdb->insert( 
    $table_name, 
    array( 
        \'timestamparray\' => $timeofvisit,
        \'userid\' => \'2\'
    ) 
);

SO网友:Hendra

为什么不使用$wpdb->update? 我的意思是,当您使用$wpdb插入数据时->;insert(),并生成条件

if(following_conditions){
       $wpdb->update($table, $data, $where);
}
并在最新数据后加逗号。

这是我的更新功能示例:

$wpdb->update($wpdb->prefix . \'users\', [\'user_pass\'=>$repeat_password], [\'user_email\'=>$_GET["req:em"]]);

结束

相关推荐

为什么自定义MySQL查询不返回结果?语法正确吗?

第一次进行自定义查询。我在寻找一种方法来获取某个分类法的类别列表,以便可以为自动完成函数运行类似的查询。为了得到一些结果,我提出了mysql查询,它在phpMyAdmin中给出了结果SELECT * FROM wp_terms INNER JOIN wp_term_taxonomy ON ( wp_terms.term_id = wp_term_taxonomy.term_id ) WHERE wp_terms.name LIKE \'ca%\' AND count