0

我正在为我的 wordpress 网站构建一个自定义插件。

我制作了一个名为“checkrank”的 php 文件,它从名为“cranking”的自定义表中获取数据

$uid = $GET['id']; 

function checkExists($id){
    global $wpdb;
    $table_name = $wpdb->prefix . 'cranking';
    $exists = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $table_name WHERE id = %d" ) );

    $error = $wpdb->print_error();

    if(count($exists) > 0){
       echo 'Exists!';
    } else {
       echo 'Does not exist!';
    }

 return $error;
}

 checkExists($uid);

该代码只是为了检查曲柄台是否有提供 id 的用户。

问题是,每当我运行这个 php 文件时,我都会收到这个错误: PHP Fatal error: Call to a member function get_row() on a non-object

我在这里错在哪里?我认为 $wbdp 没有启动。

4

1 回答 1

1

您缺少参数,如果您在查询中写入,则$wpdb::prepare()需要添加参数。$id%d

资料来源:http ://codex.wordpress.org/Class_Reference/wpdb#Protect_Queries_Against_SQL_Injection_Attacks

$wpdb->prepare( "SELECT * FROM $table_name WHERE id = %d", $id )
于 2013-08-01T21:33:04.863 回答