在oops中未选择php数据库

在oops中未选择php数据库,php,mysql,oop,Php,Mysql,Oop,我是php新手。请检查以下代码。我没有收到以下代码的数据库选择错误。我已经用oops编写了代码。任何帮助都将不胜感激。请帮忙。我在这行中出错了 die("invalid".mysql_error());' 在runquery($query)方法中 Dbconfig.php <?php class Dbconfig { private $connection; public function __constructor($hostname,$username,$pas

我是php新手。请检查以下代码。我没有收到以下代码的数据库选择错误。我已经用oops编写了代码。任何帮助都将不胜感激。请帮忙。我在这行中出错了

die("invalid".mysql_error());' 
在runquery($query)方法中

Dbconfig.php

<?php
class Dbconfig
{
     private $connection;

    public function __constructor($hostname,$username,$password,$database){

        $this->connection=mysql_connect($hostname,$username,$password);
        if(!$this->connection){
            die(mysql_error());
        }else{
            if(!mysql_select_db($database,$this->connection)){
                die(mysql_error());
            }

        }

    }

    function runQuery($query){
        $result= mysql_query($query);
        if($result){
            while($row= mysql_fetch_array($result)){
                $resultset[]= $row;
            }
            if(!empty($resultset)){
                return $resultset;
            }
        } else {
            die("invalid".mysql_error());

        }
    }
}

?>

Config.php

<?php
require("path to dbconfig.php");
$base="http://localhost/slvbilling/";
$hostname='localhost';
$username='root';
$password='';
$database='slv';
$connect = new Dbconfig($hostname,$username,$password,$database);
?>

尝试将连接传递到mysql\u查询:

 function runQuery($query){
     $result= mysql_query($query, $this->connection);
 .....
它应该在不传递连接的情况下工作,但取决于项目中的其余代码和正在创建的数据库实例,这可能是问题所在


如果您提供调用runQuery的代码,则更容易获得正确答案。

请在Dbconfig.php文件中使用以下代码

 <?php
    class Dbconfig
    {
         private $connection;

        public function __construct($hostname,$username,$password,$database){
        $this->connection=mysql_connect($hostname,$username,$password);
        if(!$this->connection){
            die(mysql_error());
        }else{
            if(!mysql_select_db($database,$this->connection)){
                die(mysql_error());
            }

        }

    }

    function runQuery($query){
        $result= mysql_query($query);
        if($result){
            while($row= mysql_fetch_array($result)){
                $resultset[]= $row;
            }
            if(!empty($resultset)){
                return $resultset;
            }
        } else {
            die("invalid".mysql_error());

        }
    }
}

?>

关于构造函数,请尝试上面的代码,可能会有帮助

使用mysql函数放置
或die(mysql_error())
,而不是放置冗余条件

请使用下面的代码尝试

<?php
class Dbconfig
{
     private $connection;

    public function __construct($hostname,$username,$password,$database){

        $this->connection=mysql_connect($hostname,$username,$password)or die(mysql_error());
        mysql_select_db($database,$this->connection))or die(mysql_error());
    }

    function runQuery($query){
        $result= mysql_query($query)or die("invalid".mysql_error());
        if($result){
            while($row= mysql_fetch_array($result)){
                $resultset[]= $row;
            }
            if(!empty($resultset)){
                return $resultset;
            }
        }
    }
}
?>

mysql_*在新版本中折旧,在7.0中删除。请查看mysqli_*或pdoapi有问题吗?是的,请使用
mysqli.*
。您在定义构造函数时犯了错误。它应该是
public function\uu构造($hostname、$username、$password、$database)
而不是
public function\uu构造($hostname、$username、$password、$database)
构造将被定义为
\uu构造