我在法典中看到:
$wpdb->insert( $table, $data, $format );
我正在使用这种类型的代码,它可以工作:
$wpdb->query(
$wpdb->prepare(
"INSERT INTO `table` (`field1`,`field2`,`field3`,`field4`) VALUES (%d,%d,%d,%s) ",
$_REQUEST[\'field1\'], $_REQUEST[\'field2\'], $_REQUEST[\'field3\'], $_REQUEST[\'field4\']
)
);
我有一个表单,它有20个可选字段,所以我不想只插入所有字段,因为有些字段可能不会传递任何值。我想先检查它们,然后仅在表中填写代码时才将其添加到表中。
我可以把最后一部分:
$_REQUEST[\'field1\'], $_REQUEST[\'field2\'], $_REQUEST[\'field3\'], $_REQUEST[\'field4\']
作为一个数组,以便动态构建它,如下所示:
$_sqlCode = "";
$_sqlValues = array();
if(isset($_REQUEST[\'field1\']) && $_REQUEST[\'field1\'] != "") {
if($_sqlCode) { $_sqlCode .= \', `field1`\';} else { $_sqlCode = \'`field1`\';}
$_field1Value = $_REQUEST[\'field1\'];
$_sqlValues["$_field1Value"] = $_field1Value;
}
对于表单中的每个字段,对于表,都要这样做吗?
仅使用key=>value
, 然后做一个foreach
循环,然后像那样构建字符串?我不知道是否可以将数组放入values部分,也不知道该如何操作。