Wordpress中的MySQL查询错误

Sha*_*vid 1 php mysql wordpress

我有以下代码:

add_action( 'delete_post', 'my_delete_function' );
 function my_delete_function($post_id) { 
    global $wpdb;
    $achievement = get_the_category($post_id); 
    $h = $achievement[0]->cat_ID; 
    $s = ''.str_replace('"', '', $h);
    $p = var_dump(htmlentities($s));
   $wpdb->query("INSERT INTO ".$wpdb->prefix."votes (post, votes, guests, usersinks, guestsinks) VALUES('', ".$p.", '', '', '') ") or die(mysql_error());
}
Run Code Online (Sandbox Code Playgroud)

MySQL不断抛出此错误

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 ' '', '', '')' at line 1
Run Code Online (Sandbox Code Playgroud)

香港专业教育学院在phpMyAdmin中运行相同的查询,用值替换php vars,它工作正常

另外,我通过在空白页上使用echo函数来确保$ s的值只是一个数字。

任何帮助表示赞赏

Mat*_*ija 5

如果要获取最后的错误和最后的查询,可以使用$ wpdb对象的以下属性:

$wpdb->last_error 
Run Code Online (Sandbox Code Playgroud)

如果有一个错误,它将显示最后一个错误。

$wpdb->last_query 
Run Code Online (Sandbox Code Playgroud)

将帮助您显示上一个查询(发生错误的位置)

希望这对您有所帮助。