wordpress中的另一个数据库连接

时间:2012-06-08 21:43:45

标签: wordpress

因此,我的主题布局的一部分需要查询除为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资源

1 个答案:

答案 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" );

更新:更正了“全球”