从不同于默认数据库的数据库进行查询

时间:2012-02-20 作者:nax

我正在为wordpress页面做布局。

布局需要连接到第二个数据库(两个数据库位于同一个域中)。

但问题是,当我只执行文件时,它就工作了。但是当我在wordpress布局中包含时,我没有得到数据,没有错误,什么都没有

脚本只是:

 $con = mysql_connect(\'host\',\'user\',\'pass\');
 mysql_select_db(\'db\', $con);
 $q = mysql_query(\'SELECT * FROM vars\', $con);
 var_dump(mysql_fetch_array($q));
正如我所说。如果我单独执行文件:

http://example.com/blog/connect.php

它工作正常,并返回数据。

但是,如果我在布局内部执行操作(创建wordpress页面,并将布局提供给它),则不会返回任何结果。

知道那里会发生什么吗?

2 个回复
最合适的回答,由SO网友:goldenapples 整理而成

我不知道为什么mysql\\u connect在WordPress中不起作用。但更简单的方法是使用$wpdb 班尝试用以下内容替换代码:

$second_db = new $wpdb( \'user\', \'pass\', \'dbname\', \'host\' );
$q = $second_db->get_results( \'SELECT * FROM vars\' );
var_dump( $q );
看看你是否能得到你想要的结果(请注意,传递给$wpdb 构造函数与使用的顺序不同mysql_connect)

SO网友:Shane

goldenapples可能有最好的解决方案,但要具体回答您的问题,您需要设置new_link 中的参数mysql_connect 功能到true.

 $con = mysql_connect(\'host\',\'user\',\'pass\', true);

结束

相关推荐

JQuery AJAX调用引发HTTP302

我试图实现一个jQuery自动完成,其中自动完成从ajax源获取数据。然而,由于某种原因,当我打电话时,结果是302,而这反过来又会导致404。这就是我所拥有的:In functions.php:function my_ajax_foo() { die(\"OK\"); } add_action(\'wp_ajax_my_ajax_foo\', \'my_ajax_foo\' ); add_action(\'wp_ajax_nopriv_my_ajax_foo