现在已经看到,lastname和approve使用$POST代替$\\u POST,$POST它将是一个php变量,正确的是$\\u POST。也许错误一直都是这样。
无论如何,如果with query不工作,或者sql语句不正确,或者与数据库没有连接,则with query必须工作
global $wpdb;
$wpdb->query($wpdb->prepare("update pro_slider set pos = {$d} where id = {$f->id};"));
这是我用来更新横幅的东西。对于您的情况,应该使用insert语句。
global $wpdb;
$wpdb->query($wpdb->prepare("insert into {$table_name} values ( 0 , 0, 0, 0 ) "));
只需将零替换为所需的值,我会在使用硬代码值之前尝试,如果可行,一切都很好,只需将硬代码(写的值)替换为变量,只需记住varchar可能需要comas,有时sql语句有点奇怪,直接在sql语句上使用$\\u POST,有时需要在php变量上使用它。
好的,这就是我要一步一步来检查问题的方法。
global $wpdb;
$first_name = $_POST[\'fname\'];
$LastName = $_POST[\'lname\'];
$Consent = $_POST[\'consent\'];
$sql = "insert into {$table_name} values ( {$first_name} , {$LastName}, {$Consent} )";
echo \'<pre>\';
print_r($sql);
echo \'</pre>\';
die();
这应该打印如下内容
插入自定义表格值(\'Brad\',\'Pitt\',1)
在这种情况下,statment是正确的,但是如果它像这样打印
插入自定义表格值(Brad,Pitt,1)
这不正确,Brad不是varchar,需要介于comas之间,因此让我们在代码中插入comas:
global $wpdb;
$first_name = $_POST[\'fname\'];
$LastName = $_POST[\'lname\'];
$Consent = $_POST[\'consent\'];
$sql = "insert into {$table_name} values ( \'{$first_name}\' , \'{$LastName}\', \'{$Consent}\' )";
echo \'<pre>\';
print_r($sql);
echo \'</pre>\';
die();
其中一个很好,我相信是第一个,现在只需复制$sql并在wpdb中使用它->;查询
global $wpdb;
$first_name = $_POST[\'fname\'];
$LastName = $_POST[\'lname\'];
$Consent = $_POST[\'consent\'];
$wpdb->query($wpdb->prepare("insert into {$table_name} values ( {$first_name} , {$LastName}, {$Consent} ) "));