queries inside of a class

时间:2012-11-25 作者:fefe

我正在构建一个插件,我对wordpress很陌生,我有一个类,它有两个方法,应该执行数据库查询。课程如下所示

class MyClass{

        private $wpdb;

        function __construct(){
            global $wpdb;

        }

        function query(){
        $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->wp_competitors

                        ( id, field_key, field_value ) VALUES ( %d, %s, %s )",1,

                        $field_key, $field_value) );

        }

     }
我想能够在我的类内部使用wordpress原生数据库类,如何做到这一点?

2 个回复
最合适的回答,由SO网友:Oleg Butuzov 整理而成
class MyClass{
    function __construct(){
        global $wpdb;
        $this->db = $wpdb;
    }

    function query(){
       return $this->db->query( 
            $this->db->prepare("INSERT INTO {$this->db->wp_competitors} (id, ield_key, field_value) VALUES ( %d, %s, %s )",
            1, $field_key, $field_value) 
       );
    }
}
SO网友:Geert

使用自定义的缺点$db 类中的属性是,如果要创建一些静态方法,则不能在静态方法中使用它。两种备选方法:

class MyClass {

    public function query1() {
        global $wpdb;
        $wpdb->query(\'SQL\');
    }

    public function query2() {
        $GLOBALS[\'wpdb\']->query(\'SQL\');
    }

}

结束

相关推荐

使用PHP邮件;获取标题警告

我在页面中直接使用PHP mail()创建了一个联系人表单。它成功地通过电子邮件将te联系信息发送给收件人。但是,它不会前进到header()中标识的确认页面,并输出以下错误:警告:无法修改标题信息-标题已由/home/redacted/redacted.com/wp-content/themes/diner/includes/theme-functions.php:752)发送。com/wp内容/主题/餐厅/页面。php在线163关于如何解决这个问题,有什么建议或资源链接吗?<?php f