在pdo连接中使用远程IP为pdo连接返回NULL

时间:2017-10-09 02:45:45

标签: php mysql pdo

我有一个项目,我使用IP 192.168.1.5在我的服务器中部署它当我使用192.168.1.5/project访问我的项目时它运行正常当我尝试在我的localhost中运行我的项目时{{1我的PDO连接是null我不明白为什么。我的联系是:

127.0.0.1/project

我的连接是捕获部分并返回此错误:

define('DBHOST', '192.168.1.5');// database host address - localhost is usually fine
define('DBNAME', 'dbname');// database name - must already exist
define('DBUSER', 'username');// database username - must already exist
define('DBPASS', 'password');
try {
    $dbh = new PDO("mysql:host=".DBHOST."", "".DBUSER."", "".DBPASS."", array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES latin1 COLLATE latin1_general_ci"));
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $dbname = "`" . str_replace("`", "``", DBNAME) . "`";
    $dbh->query("CREATE DATABASE IF NOT EXISTS $dbname");
    $dbh->query("SET NAMES 'utf8'");
    $dbh->query("use $dbname");
} catch (PDOException $e) {
    echo "\nPDO::errorInfo():\n";
    print_r($dbh->errorInfo());
    echo "\n\n";
    echo 'Connection failed: ' . $e->getMessage();
}

当我尝试PDO::errorInfo(): Fatal error: Call to a member function errorInfo() on a non-object in 时,我得到var_dump($dbh)

当我运行localhost时为什么不工作?当我在远程服务器上运行它确实运行..

  

原因我为什么要在localhost中运行:

这样我可以更快地完成它。现在我需要上传服务器中的更改以查看结果。我想在localhost中运行,所以我不需要上传以查看更改

0 个答案:

没有答案