在PHP类中查询数据库?

时间:2015-05-08 19:00:53

标签: php database class oop

所以这很简单。

基本上,我想连接以下类:

In [1890]: first_attempt(A=A)
[]
[(2, 3), (2, 2.6)]
[(0.4, 2, 3), (0.4, 2, 2.6), (0.4, 3, 1.4)]
[]
[]
[]

到数据库。

然而,没有任何明显的'我尝试似乎工作,谷歌搜索没有产生我能理解的结果。也许有人可以简单地为我解释一下?

注意:SQL就在那里,但它没有做任何事情(显然)。

此致

1 个答案:

答案 0 :(得分:1)

您的班级无法立即访问您的$db。你可以用几种不同的方式做到这一点。

1)$db传递到public function __construct($db)并将其分配给private $db; 等类成员(最有用) < / p>

然后,您可以像$check = $this->db->query("..etc..");

一样访问它

2)通过参数将其传递给add()函数,如下所示:

public function add($address, $db) {
}

3)将其作为全局变量引入:(最简单)

function add($address){
    global $db;
    $check = $db->query("SELECT * FROM mail_list WHERE email = '$address'");
    /*

        etc....

    */
}

我建议你学习如何做第一个,因为当你班上有很多数据库调用时它会非常方便。

关于函数中代码的另外两件事。

1)您应该使用NOW()代替DATE

2)由于您使用的是mysqli的OOP实现,因此您应该将mysqli_num_rows($check);更改为$check->num_rows();。我不确定它是否能像你拥有的那样工作,但即使这样做也是一致的对待你的对象的好习惯。