在第二个实例上调用时,Oops连接失败

时间:2014-12-22 11:42:58

标签: php mysqli database-connection

我有以下相对简单的数据库连接脚本:

以下脚本只是创建一个通用接口:

<?php
//Filename: IConnectInfo.php
interface IConnectInfo
{
    const HOST ="localhost";
    const UNAME ="root";
    const PW ="";
    const DBNAME = "login";

    public static function doConnect();
}

?>

下面的脚本,它使用了上面的界面:

<?php
//FILENAME :: UniversalConnect.php
ini_set("display_errors","1");
ERROR_REPORTING( E_ALL | E_STRICT );
include_once('IConnectInfo.php');

class UniversalConnect implements IConnectInfo
{
    private static $server=IConnectInfo::HOST;
    private static $currentDB= IConnectInfo::DBNAME;
    private static $user= IConnectInfo::UNAME;
    private static $pass= IConnectInfo::PW;
    private static $hookup;


    public static function doConnect()
    {
        self::$hookup=mysqli_connect(self::$server, self::$user, self::$pass, self::$currentDB);
        if(self::$hookup)
        {
            echo "Successful connection to MySQL:<br/>";
        }
        elseif (mysqli_connect_error(self::$hookup)) 
        {
            echo('Here is why it failed: '  . mysqli_connect_error());
        }
        return self::$hookup;
    }

}

?>

现在到这里,一切都整洁干净,工作正常:

我测试了上面两个文件正在工作,通过在上面的文件末尾添加以下2行。

$instance = new UniversalConnect();
$instance::doConnect(); 

我收到一条消息“成功连接到MySQL:”,完美!!!

现在出现了第三个文件:(我已经注释掉了一些简单的代码):

<?php
//FILENAME DataEntry.php
require_once('tablework/UniversalConnect.php');

class DataEntry
{
    //Variable for MySql connection
    private $hookup;
    private $sql;
    private $tableMaster;

    //Field Variables
    private $name;
    private $email;
    private $lang;

    public function __construct()
    {
        //Get table name and make connection
        $this->tableMaster="basics";


        if($this->hookup=UniversalConnect::doConnect()){
            echo "<b>connected</b>";
        }else{
            echo "<b>Not connected</b>";
        }


    }


}

$instance = new DataEntry();


?>

现在当我运行上面的文件时,以某种方式与数据库的连接失败了!即使在UniversalConnect.php中连接成功!

我得到的错误是

  

这就是失败的原因:php_network_getaddresses:getaddrinfo失败:   没有这样的主人是已知的。没有连接。

我真的不明白为什么当在UniversalConnect.php中建立连接并且同一连接被返回到dataEntry.php时,连接是否失败! 。

编辑::错误列表:

  

警告:mysqli_connect():php_network_getaddresses:getaddrinfo   失败:没有这样的主人知道。在   第19行的C:\ xampp \ htdocs \ Login2.0 \ tablework \ UniversalConnect.php

     

警告:mysqli_connect():( HY000 / 2002):php_network_getaddresses:   getaddrinfo失败:没有这样的主机。在   第19行的C:\ xampp \ htdocs \ Login2.0 \ tablework \ UniversalConnect.php   这就是它失败的原因:php_network_getaddresses:getaddrinfo失败:   没有这样的主人是已知的。警告:mysqli_connect():   php_network_getaddresses:getaddrinfo失败:没有这样的主机。   第19行的C:\ xampp \ htdocs \ Login2.0 \ tablework \ UniversalConnect.php

     

警告:mysqli_connect():( HY000 / 2002):php_network_getaddresses:   getaddrinfo失败:没有这样的主机。在   第19行的C:\ xampp \ htdocs \ Login2.0 \ tablework \ UniversalConnect.php   这就是它失败的原因:php_network_getaddresses:getaddrinfo失败:   没有这样的主人是已知的。没有连接。

我将不胜感激任何帮助。

谢谢。
Tenali。

0 个答案:

没有答案