我必须插入一个文本值,一个日期和一个枚举,例如:
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);
}
答案 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'));