WP要用到数据库操作的时候 要申明通用变量 global $wpdb;
form的input 里有name 这个属性, 比如 name = email, 这个name 就是 $_post[‘name’] 里面的属性;
通过php创建数据表: 其中id message name 这种都是在form里的item.
function lapiza_database() { //varoubles // global $wpdb;
global $lapiza_db_version;
$lapiza_db_version = “1.0”;
$table = $wpdb->prefix . ‘reservations’;
$charset_collate = $wpdb->get_charset_collate();
//SQL stateent $sql = ” CREATE TABLE $table (
id mediumint(9) NOT NULL AUTO_INCREMENT,
name varchar(50) NOT NULL, date datetime NOT NULL, email varchar(50) DEFAULT ” NOT NULL, phone varchar(10) NOT NULL, message longtext NOT NULL, PRIMARY KEY (id) ) $charset_collate;
“;
require_once(ABSPATH . ‘wp-admin/includes/upgrade.php’); dbDelta( $sql );
}
add_action( ‘after_setup_theme’, ‘lapiza_database’ );
sql语句 异常 Err] 1064 – You have an error in your SQL syntax; check the manual that corresponds to your
如果出现这种错误, 就是sql语句有错误,或者有空行,sql里面可以换行,但是不能有空行。reservation.php 插入form数据到数据库的wp函数写法 : function lapizza_save_reservationn () { global $wpdb; if(isset($_POST[‘submit’]) && $_POST[‘hidden’] == “1”) { $name = $_POST[‘name’]; $date = $_POST[‘date’]; $email = $_POST[’email’]; $phone = $_POST[‘phone’]; $message = $_POST[‘message’];
$table = $wpdb->prefix . ‘reservations’;
$data = array( ‘name’ => $name, ‘date’ => $date, ’email’ => $email, ‘phone’ => $phone, ‘message’ => $message,
);
$format = array( ‘%s’, ‘%s’, ‘%s’, ‘%s’, ‘%s’
);
$wpdb->insert($table,$data,$format);
} }