大家好,
我知道这似乎是一个重复的问题,但我在使用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);
?>
非常感谢任何帮助
答案 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的