使用wordpress将数据插入mysql表的正确方法是什么?

时间:2018-07-16 15:40:18

标签: php mysql wordpress

我必须插入一个文本值,一个日期和一个枚举,例如:

email -> varchar(256),
date -> datetime,
subscribed -> enum('yes', 'no')

我已经写了下面的代码,但是我不确定如何正确的插入方式,例如格式,日期时间是否为字符串等等。我在wordpress中没有任何错误,所以有点我很难说出我错了。

if(isset($_POST['newsletter_submit'])) {
  $email = $_POST['email'];
  $sql = $wpdb->prepare(
     "INSERT INTO `wp_newsletter` (`email`,`date`, 'subscribed') values (%s,%s,%s)",
      $email, current_time('mysql'), 'yes');

  $wpdb->query($sql);
}

1 个答案:

答案 0 :(得分:1)

您可以使用$wpdb->show_errors()查看错误。要将数据插入数据库,应使用$wpdb->insert($table, $data, $format)方法。您的代码可以这样写:

$wpdb->insert(`wp_newsletter`,
              array (
                  'email'      => $email,
                  'date'       => date("F j, Y \a\t g:ia"),
                  'subscribed' => 'yes'
              ), //Data should be raw. They're validated by giving their type as third argument
              array ('%s', '%s', '%s'));