PHP问题(警告:PDO :: __ construct())

时间:2015-12-06 00:31:39

标签: php mysql pdo

大家好,

我知道这似乎是一个重复的问题,但我在使用PDO连接到我的数据库时出现问题。我尝试将服务器名称从localhost交换到' 127.0.0.1'但无济于事我获得了成功。我在这里测试并尝试创建我自己的数据库供我个人使用,并了解查询数据库是如何工作的,但我缺乏知识将我带到了这里。有人可以指出我正确的方向。

我的代码片段在

下面
<?php
require_once('CONFIG.php');
session_start();


   try {
            $database_handler = new PDO('mysql:host=' . $databasehost .   'houses', 'root', '');
   }
catch (PDOException $e) {
    print "Error: " . $e->getMessage();
   }



?>

所以我有我的Config.php文件

<?php
$databasehost  = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'house';

$conn = mysql_connect($databasehost , $dbuser, $dbpass) or die('Error connecting to mysql');
$dbname = 'house';
mysql_select_db($dbname);

 ?> 

非常感谢任何帮助

1 个答案:

答案 0 :(得分:1)

DSN的格式错误

<?php
require_once 'CONFIG.php';
session_start();

try {
    $dsn = sprintf('mysql:host=%s;dbname=%s;charset=utf8', $databasehost, $dbname);
    $database_handler = new PDO($dsn, $dbuser, $dbpass, array(
        PDO::ATTR_EMULATE_PREPARES=>false,
        PDO::MYSQL_ATTR_DIRECT_QUERY=>false,
        PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION
    ));
}
catch (PDOException $e) {
    print "Error: " . $e->getMessage();
}

并删除行

$conn = mysql_connect($databasehost , $dbuser, $dbpass) or die('Error connecting to mysql');
$dbname = 'house';
mysql_select_db($dbname);
来自Config.php的