我必须插入一个文本值、一个日期和一个枚举,例如:
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);
}
最佳答案
您可以使用$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'));
关于php - 使用 wordpress 将数据插入 mysql 表的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51365550/