$arr = [];
array_push( $arr, \'wp_table\', 1, \'2013-12-24\', 3, \'NULL\');
$sql_prepare = "INSERT INTO %s (id, datea, one, two) VALUES (%d, %s, %d, %s) ON DUPLICATE KEY UPDATE one = VALUES(one), two = VALUES(two);";
$wpdb->query(
$wpdb->prepare( $sql_prepare,
$arr )
);
上述代码似乎导致datea
价值2013-12-24
.[You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'\'wp_table\' (id, datea, one, two) VALUES (1, \'201\' at line 1]
"INSERT INTO \'wp_table\' (id, datea, one, two) VALUES (1, \'2013-12-24\', 3, \'NULL\') ON DUPLICATE KEY UPDATE one = VALUES(one), two = VALUES(two);"
$wpdb->prepare (...)
查询工作正常。$wpdb->query( "INSERT INTO $table_name (id, datea, one, two) VALUES (1, \'2013-12-24\', 3, NULL) ON DUPLICATE KEY UPDATE one = VALUES(one), two = VALUES(two);");
/editI我知道我可能过度使用了prepare但至少datea, one, two
用户是否提交了输入