我打电话$wpdb->query()
在以下查询上
INSERT INTO wp_ctt_timetables (name, homework, tod, class, dow, lesson) VALUES (\'\', \'\', \'\', 3, 0, 0);
INSERT INTO wp_ctt_timetables (name, homework, tod, class, dow, lesson) VALUES (\'\', \'\', \'\', 3, 0, 1);
INSERT INTO wp_ctt_timetables (name, homework, tod, class, dow, lesson) VALUES (\'\', \'\', \'\', 3, 0, 2);
INSERT INTO wp_ctt_timetables (name, homework, tod, class, dow, lesson) VALUES (\'\', \'\', \'\', 3, 0, 3);
-- and so on
但它不起作用,并对错误日志说:
您的SQL语法有错误;查看与MySQL服务器版本相对应的手册,了解使用“插入wp\\U ctt\\U时间表(名称、家庭作业、tod、类、dow、课程)”值(第2行中的“INSERT INTO wp\\U ctt\\U timetables(name、Home作业、tod、class、dow、lesson))附近的正确语法
SO网友:Jiwan
在变量中声明表名。
$tbl_name = $wpdb->prefix.\'your_table_name\';
在数组中声明字段名。
$fields = array(
\'your_field1\',
\'your_field2\',
\'your_field3\',
);
将表单数据存储在某些变量中。
$data1 = $_POST[\'your_field1\'];
$data2 = $_POST[\'your_field2\'];
$data3 = $_POST[\'your_field3\'];
将表单数据作为数组存储在变量中
$mydata = array(
\'your_field1\' => $data1,
\'your_field2\' => $data2,
\'your_field3\' => $data3,
) ;
最后调用插入查询。
$wpdb->insert( $tbl_name, $mydata )
您可以在foreach循环中为多个数据行运行代码。
SO网友:Aurovrata
在您的示例中,您试图在表中插入多行,因此可以使用single statement,
$sql = "INSERT INTO wp_ctt_timetables (name, homework, tod, class, dow, lesson) VALUES (\'\', \'\', \'\', 3, 0, 0), (\'\', \'\', \'\', 3, 0, 1), (\'\', \'\', \'\', 3, 0, 2), (\'\', \'\', \'\', 3, 0, 3), (\'\', \'\', \'\', 3, 0, 4)"; //... and so on
$results = $wpdb->query($sql);
但是,要回答您的原始问题,如果每个查询都不同,您也可以逐个执行查询,
$sql = "query 1...";
$results = $wpdb->query($sql);
$sql = "query 2...";
$results = $wpdb->query($sql);
$sql = "query 3...";
$results = $wpdb->query($sql);
如果你
create a temporary table and use that table in a subsequent query.