使用$wpdb类选择MySQL视图


Selecting MySQL views using $wpdb class

我正在建立一个Wordpress网站,它连接到MySQL数据库。我使用wordpress类wpdb (https://codex.wordpress.org/Class_Reference/wpdb)与数据库交互。有了这个类,我可以查询数据库的TABLES,但不能查询Views。

我需要能够选择我的数据库的视图。这是wpdb不允许的,还是我的代码错了?是否有一种方法来查询视图相同的方式,我可以使用wpdb查询表?

我已经尝试使用查询函数,以及以同样的方式对待一个视图,我对待一个表,但它不起作用。返回空

查询方法:

$test = $mydb->query( 
$mydb->prepare( 
"
         SELECT name FROM $mydb->$view_name
 WHERE id = 1"
 )
);
echo $test; //returns empty; should return a name
表方法:

$test = $mydb->get_var(
"select name from $view_name WHERE id = 1"
);
echo $test; //returns empty; should return a name

有什么建议吗?我能使用$wpdb以外的东西连接到我的数据库吗(Wordpress允许吗?)

name似乎是MySQL中的保留字(参考)。试着像这样用反引号(')括起来:

SELECT `name` FROM ...

你应该看到一些错误,你有留意日志吗?此外,当您对查询有疑问时,您可以简单地复制原始查询并将其执行到phpMyAdmin或您正在使用的任何工具中手动访问数据库