wordpress数据库笔记1


Updated on: August 9, 2020 in Wordpress by

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);
  } }