在其他函数中使用SQL处理类的SQL函数

时间:2012-06-12 08:07:01

标签: php sql class function

我在名为SQLquery的类中创建了一个SQL函数SQLHandling 它看起来像这样:

 /***********************************************************
    * SQLquery takes a full SQL query and runs it
    * If it fails it will return an error otherwise it will return
    * the SQL query as given.
    ************************************************************/   
    function SQLquery($query)  { 

        $q = mysql_query($query);

        if(!$q) {
            die(mysql_error());
            return false;
        } else {
            return $q;          
        }
    }

无论如何,我可以在其他类函数中使用此函数而无需添加

$db = new SQLHandling();
$db->SQLquery($sql);

在我将使用它的每个功能中。

我知道我可以运行SQLHandling::SQLquery($sql);,但我正在努力避免这种情况。

2 个答案:

答案 0 :(得分:2)

使用继承

参阅: http://php.net/manual/en/language.oop5.inheritance.php

但你仍然需要使用parent :: fun()或$ this-> fun() 或者把它作为公共功能然后使用任何地方。

示例:

<?php

function c()
{
        echo "moi";
}    

class b extends a
{       
   public function d(){

    parent::c();//Hai
    $this->c();//Hai
    c();//moi

    }   


}


class a{    



    public function c(){
        echo "Hai";

    }       
} 


$kk = new b();
$kk -> d();

?>

答案 1 :(得分:1)

您可以在类级别实例化SQLHandling,如下所示:

    private $db;

    public function __construct()
    {
        $this->db = new SQLHandling();
    }

    public function x()
    {
        $this->db->query('X');
    }