因此,我的主题布局的一部分需要查询除为wordpress制作的数据库之外的数据库。我想我会像平常一样查询其他数据库。我写了一个快速的功能来处理它:
function my_function() {
$con = mysql_connect("localhost", "user", "password");
mysql_select_db("database", $con);
$result = mysql_query("my query");
mysql_close($con);
$all = array();
while ($all[] = mysql_fetch_assoc($result)) {}
return $all;
}
我在我的标题中引用了该功能,并意识到它打破了我的侧边栏中的类别。这是怎么回事?我关闭了我想的连接。我究竟做错了什么?我得到的类别的错误是:
警告:mysql_error():14在1098行的/blog/wp-includes/wp-db.php中不是有效的MySQL-Link资源
答案 0 :(得分:10)
您的自定义数据库与wordpress数据库位于同一个mysql上吗?然后你仍然可以使用$ wpdb对象:
global $wpdb;
$wpdb->get_results( "SELECT * FROM brian_db.brian_table" );
即使你不能这样做,我仍然建议使用Wordpress数据库类以保持一致性,你可以在该功能中设置一个新的连接:
$wpdb_b = new wpdb( "user", "password", "brian_db", "localhost" );
$wpdb_b->get_results( "SELECT * FROM brian_table" );
更新:更正了“全球”