错误:“;您的SQL语法有错误;检查手册>;对应于您的MySQL服务器”;


ERROR : "You have an error in your SQL syntax; check the manual that > corresponds to your MySQL server "

我在使用下面的函数时遇到了一个错误,我正在为WordPress编写插件:

您的SQL语法有错误;查看手册与您的MySQL服务器版本相对应,以便使用正确的语法接近第2行的'0,'1','',)'

输入值为:"user1',"pass1',"fredy","incoln","Batman",0'987','31231',1980

结果查询为:

 query("INSERT INTO tblusers(UserUserName,UserPassword,UserFirstName,UserLastName,UserNickName,UserSex,UserMobile,UserNationalCode,UserBirthDate)
 VALUES ( 'user1', 'pass1', 'fredy','lincoln',,0,'1','', ) ") //error is here//

function complete_registration() {
    global  $wpdb,$reg_errors, $username, $password, $email, $mobile, $first_name, $last_name, $nickname,$gender, $birthdate ;
    if ( 1 > count( $reg_errors->get_error_messages() ) ) {
$wpdb->show_errors();
        $wpdb = new wpdb('username','*****','mydb','x.x.x.x');
    $wpdb->tblusers =  'tblusers';
        $sql = $wpdb->prepare( "INSERT INTO $wpdb->tblusers(UserUserName,UserPassword,UserFirstName,UserLastName,UserNickName,UserSex,UserMobile,UserNationalCode,UserBirthDate)
        VALUES ( %s, %s, %s,%s,$s,%d,%s,%s,$s )
" ,
            array(
                $username,
                $password,
                $first_name,
                $last_name,
                $nickname,
                $gender,
                $mobile,
                $email,
                $birthdate
            ) );
            $wpdb->query($sql);
}

看起来你有几个拼写错误,$s而不是%s,导致蝙蝠侠和1980消失:

VALUES ( %s, %s, %s,%s,$s,%d,%s,%s,$s )

只需将其更改为:

VALUES (%s, %s, %s, %s, %s, %d, %s, %s, %s)

尝试一些接近这个的东西

query("INSERT INTO tblusers(UserUserName,UserPassword,UserFirstName,UserLastName,UserNickName,UserSex,UserMobile,UserNationalCode,UserBirthDate)
 VALUES ( 'user1', 'pass1', 'fredy','lincoln','nickname','male','+254716370730','254','1993-02-18' ) ") 

欢呼