Using WPDB class

时间:2012-11-19 作者:Ken

我想使用wpdb 我的外部页面上的类与wordpress没有关联。

我尝试在php文件中包含以下内容:

// include wordpress functions
include( $_SERVER[\'DOCUMENT_ROOT\'] . \'/wp-load.php\');
require_wp_db();
global $wpdb;
现在,我使用$wpdb->query

$product_info_query = $wpdb->query("select p.products_id, p.products_type, p.img_display, p.products_sku, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, pd.products_url, p.products_price, p.products_tax_class_id, p.products_date_added, p.products_last_modified, p.products_date_available, p.manufacturers_id, gp.likes from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_GLOBAL_PRODUCTS . " gp where p.products_status = \'1\' and p.products_id = \'" . (int)$_GET[\'products_id\'] . "\' and pd.products_id = p.products_id and gp.products_id = p.products_id and pd.language_id = \'" . (int)$languages_id . "\'");
$product_info = mysql_fetch_array($product_info_query);
然而,它不起作用。它返回了一个警告:

Warning: mysql_fetch_array() expects parameter 1 to be resource
有什么问题吗?如何修复此问题以及可能使用wpdb 在wordpress外部运行查询时是否正确初始化?

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

你不能混在一起wpdb 具有mysql_fetch_array. 它们不兼容。您需要使用wpdb 方法,以及PHP函数,如while, foreach, 和for. wpdb 不返回PHP的mysql函数使用的引用。它返回一个对象和数组,有时还返回一个字符串。

不过,在您的情况下,数据库部分已经完成。你只是想foreach 在结果集上。

foreach ($products as $op) {
    // do stuff
}

结束

相关推荐

将字符串与wpdb中的帖子ID进行比较,并在找到匹配项时执行操作

我正在寻找一些与wpdb相关的帮助,以比较和更改某些值。我是mysql处理方面的新手,所以我非常感谢您在这方面的帮助!我想做的是通过wp db查找与$page_id. 找到帖子后,应检查menu_order 值并将其与$page_order. 如果它们相同,则什么也不做,但如果它们不匹配,则应设置menu_order 价值$page_order.下面是一些伪代码:$page_id = 45; $page_order = 1; if(post_id == $page_id) {&#