使用mysqli与oop php

时间:2014-03-22 11:56:31

标签: php mysql oop mysqli

这是我的connection.php文件

<?php

class Connection {

    public $db_host = 'localhost';
    public $db_user = 'root';
    public $db_pass = '';
    public $db_name = 'lybri';

    public function connect() {

        $this->connect_db = new mysqli($this->db_host, $this->db_user, $this->db_pass, $this->db_name);

        if (mysqli_connect_errno()) {
            printf("Connection failed: %s\n", mysqli_connect_error());
            exit();
        }
        return true;
    }

    public function get_connection() {
        return $this->connect_db;
    }

}

$db = new Connection('localhost', 'user', 'pass', 'name');
$db->connect();
$connection = $db->get_connection();

此脚本正常运行,没有任何错误。

当我需要在另一个文件中运行mysql查询时,我只需将此connection.php文件包含在该文件中并执行此操作。

mysqli_query($connection, "SELECT * FROM users WHERE username = '$username' AND password = '$hashedPassword' ");

我只需要知道,这是最好的做法。

谢谢。

1 个答案:

答案 0 :(得分:2)

是的,这是最好的做法,我相信很多人只包括connection.php(我也是)。

但我要说的就是使用mysqli_real_escape_string来阻止mysql injection attack。 (不推荐)或使用PDO/mysqli

在查询之前使用它mysqli_real_escape_string($db,$id)

$username=mysqli_real_escape_string($db,$username);
$password=mysqli_real_escape_string($db,$password);