虽然可以使用mysqli->connect进行连接,但最好使用内置的Wordpress功能(即使对于外部代码也是如此)。
我的意思是您应该使用wpdb类。看见https://codex.wordpress.org/Class_Reference/wpdb 了解更多信息。
首先,您需要链接到Wordpress类:
echo \'<h1>WP Connect DB</h1>\';
echo \'<p>Directory Check: \'.$_SERVER[\'DOCUMENT_ROOT\'] . \'/wp-load.php</p>\';
require_once( $_SERVER[\'DOCUMENT_ROOT\'] . \'/wp-load.php\' );
如果出现错误,请检查wp load的路径是否正确,必要时进行调整。
接下来,您可以定义用户和数据库等。
/** The name of the database for WordPress */
define(\'DB_NAME\', \'mydatabase\');
/** MySQL database username */
define(\'DB_USER\', \'myusername\');
/** MySQL database password */
define(\'DB_PASSWORD\', \'mypassword\');
/** MySQL hostname */
define(\'DB_HOST\', \'localhost\');
此信息直接来自wp配置。php文件。这些不需要定义为常量,您可以直接将其提交到以下数据库连接代码的正确位置:
$wpdb = new wpdb( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);
最后,您可以对结果进行处理,例如:
$rows = $wpdb->get_results( "SELECT * FROM wp_posts" );
echo \'<h3>Results</h3><pre>\'.var_export($rows,true).\'</pre>\';
将所有这些放在一起,您的代码将如下所示:
echo \'<h1>WP Connect DB</h1>\';
echo \'<p>Directory: \'.$_SERVER[\'DOCUMENT_ROOT\'] . \'/wpdev/wp-load.php</p>\';
require_once( $_SERVER[\'DOCUMENT_ROOT\'] . \'/wpdev/wp-load.php\' );
define(\'SHORTINIT\', true );
/** The name of the database for WordPress */
define(\'DB_NAME\', \'mydatabase\');
/** MySQL database username */
define(\'DB_USER\', \'myusername\');
/** MySQL database password */
define(\'DB_PASSWORD\', \'mypassword\');
/** MySQL hostname */
define(\'DB_HOST\', \'localhost\');
$wpdb = new wpdb( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);
$rows = $wpdb->get_results( "SELECT * FROM wp_posts" );
echo \'<h3>Results</h3><pre>\'.var_export($rows,true).\'</pre>\';
添加了额外的SHORTINIT定义以最小化Wordpress负载,但这不是必需的。
我希望这会有所帮助。