2

所以我的主题布局的一部分需要查询一个数据库,而不是为 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 资源

4

1 回答 1

12

您的自定义数据库与 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" );

更新:更正了“全球”

于 2012-06-08T23:23:28.140 回答