Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.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
如何使用类和函数oops概念在php中获取数据库_Php_Oop - Fatal编程技术网

如何使用类和函数oops概念在php中获取数据库

如何使用类和函数oops概念在php中获取数据库,php,oop,Php,Oop,我是php的新开发人员。我正在编写下面的代码,一个连接到数据库的类和函数。但代码不起作用,如何创建类和函数oops概念帮助我 代码: 为了让它发挥作用: class database { #code var $host = "localhost"; var $username ="root"; var $password =""; var $dbase ="blue"; var $myconnect; function connect

我是php的新开发人员。我正在编写下面的代码,一个连接到数据库的类和函数。但代码不起作用,如何创建类和函数oops概念帮助我

代码:

为了让它发挥作用:

class database 
{
    #code
    var $host = "localhost";
    var $username ="root";
    var $password ="";

    var $dbase ="blue";
    var $myconnect;

    function connectTodata()
    {
        $this->myconnect = mysql_connect($this->host, $this->username, $this->password);
        if(!$this->myconnect) die("Cannot Connect to the datagase");
        echo "Connect Established";
        return $this->myconnect;
    }

    function selectDatabase() // selecting the database.
    {
        mysql_select_db($this->database);  //use php inbuild functions for select database

        if(mysql_error()) // if error occured display the error message
        {
            echo "Cannot find the database ".$this->database;
        }
     echo "Database selected..";       
    }

    function closeConnection() // close the connection
    {
        mysql_close($this->myconnect);
        echo "Connection closed";
    }
}

按照前面的海报所述修复错误,然后尝试以下步骤开始:

$database_connection=new database();
$database_handle=$database_connection->connectTodata();
$database_connection->selectDatabase();

$database_connection->closeConnection();
unset($database_connection);
exit();

在代码块之间的空白处,您可以添加mysql查询并使用$database\u handle作为第二个参数。

您可以使用构造函数,这样就不必每次调用类函数:

 class database {
    var $host = "localhost";
    var $username ="root";
    var $password ="";

    var $dbase ="blue";
    var $myconnect;

    function __construct()  {
        $this->myconnect = mysql_connect($this->host, $this->username, $this->password);

       if( !$this->myconnect )  {
            $msg  = "could not connect to mysql database <Br/>";
            $msg .= mysql_error();
            die($msg);
        }

        $db_connect = mysql_select_db($this->dbase, $this->myconnect);

        if( !$db_connect )  {
            die(" can not select database \n".mysql_error());
        }
    }

    function __destruct() {
        mysql_close($this->myconnect);
    }
}

// call database 
$con = new database();

您可以通过如下方式定义它们来实现

define("DB_SERVER_NAME","your host");
define("DB_USER_NAME","your user name");
define("DB_USER_PASSWORD","your password");
define("DB_DATABASE_NAME","your database");
现在打开连接文件:

class DBClass{
public $DB_LINK;
public $DB_DATABASE_NAME;
function DBClass($Main_DB = FALSE){
$this->DB_LINK = @mysqli_connect(DB_SERVER_NAME,DB_USER_NAME,DB_USER_PASSWORD,DB_DATABASE_NAME);
if(! $this->DB_LINK){
die("<h2>Could not connect to Database.</h2>");
}
}
function __destruct(){
mysqli_close($this->DB_LINK);
}   
}

这对我来说非常有效

$his->myconnect缺少一个t,你也在调用$This->myconn进行myconnect你的代码完全被破坏了$他的->我的连接?也许$this->myconnect?然后再次返回$myconnect;?只要耐心阅读,你就会看到这样的情况1你的类正在使用,你真的应该更新到,2你真的应该停止使用mysql,使用mysql或PDO。这确实有效,但要成为mysqli并不需要太多如果OP在PHP5.5上,它将抛出一个弃用警告。
class DBClass{
public $DB_LINK;
public $DB_DATABASE_NAME;
function DBClass($Main_DB = FALSE){
$this->DB_LINK = @mysqli_connect(DB_SERVER_NAME,DB_USER_NAME,DB_USER_PASSWORD,DB_DATABASE_NAME);
if(! $this->DB_LINK){
die("<h2>Could not connect to Database.</h2>");
}
}
function __destruct(){
mysqli_close($this->DB_LINK);
}   
}