查询自定义表Wordpress

时间:2018-03-12 10:45:36

标签: php sql database wordpress

我试图做一个受令牌限制的页面。我在Wordpress数据库上创建了一个自定义表,我试图使用它,但我不知道它在哪里工作。我从头开始创建这个页面,而不是在Wordpress的帮助下。

以下是代码:

global $wpdb;

if(isset($_GET['tkn'])){
   $token = $_GET['tkn'];
   $today = date("Y-m-d");

   $resultat = $wpdb->get_row('SELECT token_name, token_dateexp FROM {$wpdb->prefix}token WHERE token_name = \''.$token.'\'', ARRAY_A);
}

问题是,当我使用echo $resultat['token_name'].' '.$resultat['token_dateexp'];时,它什么都不返回。 似乎即使我使用global $wpdb我的查询也不起作用。 我尝试使用$resultat = $wpdb->get-results('SELECT * FROM {$wpdb->prefix}token', ARRAY_A);,但我得到的结果相同。

有人可以解释一下我错在哪里吗? 谢谢。

1 个答案:

答案 0 :(得分:2)

始终准备您的查询。请。尽管wordpress方法很糟糕,但是很糟糕。

if(isset($_GET['tkn'])){
   $token = $_GET['tkn'];
   $today = date("Y-m-d");
   $table = "${wpdb->prefix}token";
   $query = $wpdb->prepare("SELECT token_name, token_dateexp FROM $table WHERE token_name = %s", $token);
   $resultat = $wpdb->get_row($query, ARRAY_A);
}

此外,您在查询中使用单引号。 PHP在单引号字符串中评估变量。在双引号字符串PHP中。

$term = 'world';
echo "Hello $term"; // outputs Hello world
echo 'hello $term'; // outputs Hello $term