我试图做一个受令牌限制的页面。我在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);
,但我得到的结果相同。
有人可以解释一下我错在哪里吗? 谢谢。
答案 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