Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中的数据库连接_Php_Constructor - Fatal编程技术网

php中的数据库连接

php中的数据库连接,php,constructor,Php,Constructor,我有这样的代码,从I-net类下载用于db。 我感兴趣的是,如何在构造函数中进行连接,这样我就不会像现在这样在每个方法中连接db。但我有很多错误,下面是代码: <?php include_once('mysqldatabase.php'); include_once('mysqlresultset.php'); class Car { public $marka; public $model; public $engineVol; public $VIN;

我有这样的代码,从I-net类下载用于db。 我感兴趣的是,如何在构造函数中进行连接,这样我就不会像现在这样在每个方法中连接db。但我有很多错误,下面是代码:

<?php
include_once('mysqldatabase.php');
include_once('mysqlresultset.php');
class Car
{
    public $marka;
    public $model;
    public $engineVol;
    public $VIN;
    public $engineType;
    public $transmission;
    public $bodyType;
    public $other;
    public $clientCode;
    public $code;

    public function __construct()
    {


    }

    public function viewCar($id)
    {
        $db = MySqlDatabase::getInstance();
        try {
            $conn = $db->connect('localhost', 'root', '', 'discont');
        } 
        catch (Exception $e) {
            die($e->getMessage());
        }
        echo "view <br>   ";
        $query = 'SELECT * FROM car Where Code = '.$id.'';
            foreach ($db->iterate($query) as $row) {
            echo "<br>";
            echo "~".$row->Marka;
        }
    }

    public function addCar()
    {
        echo "add";
        $db = MySqlDatabase::getInstance();
            try {
            $conn = $db->connect('localhost', 'root', '', 'discont');
        } 
        catch (Exception $e) {
            die($e->getMessage());
        }

            $query = "SELECT * FROM car";
        foreach ($db->iterate($query) as $row) {
            echo "<br>";
            echo $row->Marka;
        }
    }
}

?>


很抱歉我问了个愚蠢的问题。但是我真的不知道如何(

声明类变量
$db

private $db;
将此代码从
viewCar()
移动到构造函数:

$this->db = MySqlDatabase::getInstance();
try {
    $conn = $this->db->connect('localhost', 'root', '', 'discont');
} 
catch (Exception $e) {
    die($e->getMessage());
}
从addCar()中删除重复的代码,最后更新
viewCar()
addCar()
中的引用,从
$db
$this->db