Вставка в базу данных с помощью wpdb в PHP

#php #mysql #wordpress

#php #mysql #wordpress

Вопрос:

Я пытаюсь создать функцию для вставки большего количества полей в базу данных. Я нахожу пример, но, возможно, другие параметры устарели … или у меня ошибка.

Вот мой код:

 private function _setUserPersonalDetails($blog_id, $personal_data, $operation = 'insert') {
    global $wpdb;

    // Strip any html tags from the about and address fields.
    $tmp = array();
    foreach ($personal_data as $key => $val) {
      if (($key === 'about') || ($key === 'address')) {
        $tmp[$key] = strip_tags($val);
      }
      else {
        $tmp[$key] = $val;
      }
    }
    $personal_data = $tmp;

    if ($operation == 'insert') {
      // Save personal data
      $encoded_data = json_encode($personal_data);
      $type = 'personal_data';
      $q = $wpdb->prepare('INSERT INTO wp0_users_conta_data (blog_id, type, data) VALUES (%d, %s, %s)', $blog_id, $type, $encoded_data);
      $wpdb->query($q);
    }

    if ($operation == 'update') {
      // Update personal data
      $encoded_data = json_encode($personal_data);
      $type = 'personal_data';
      $q = $wpdb->prepare('UPDATE wp0_users_conta_data set data=%s where blog_id=%d and type=%s', $encoded_data, $blog_id, $type);
      $wpdb->query($q);
    }
  }
}
  

Я потратил больше недели на решение проблемы, но не нахожу никаких решений. Я ценю любую помощь. Спасибо!

Комментарии:

1. Я думаю, что на первый взгляд все выглядит нормально, можете ли вы уточнить, что именно не работает?

2. В чем проблема? Неясно, в чем проблема.

3. Здравствуйте, ‘personal_data’ не вставляется в базу данных…