【发布时间】:2014-04-14 12:06:44
【问题描述】:
我有一个连接到远程数据库的配置文件,但是我不断收到一个我不知道如何修复的错误。在早期版本中,它本来是一个错误,但我认为它会在 5.5.3 中修复。
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'on');
$host = "localhost";
$dbname = "registration";
$username = "databaseEditor";
$password = "yolo10";
// 1002 = MYSQL_ATTR_INIT_COMMAND
$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');
try
{
$db = new PDO("mysql:host={$host};dbname={$dbname};charset=utf8", $username$
}
catch(PDOException $ex)
{
die("Failed to connect to the database: " . $ex->getMessage());
}
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
header('Content-Type: text/html; charset=utf-8');
echo "File works";
?>
我不断收到错误"Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'"。我尝试使用 1002 而不是 'MYSQL_ATTR_INIT_COMMAND' 但后来我得到了错误
"syntax error, unexpected '1002' (T_LNUMBER)" 而我也安装了最新的 php-mysql 扩展。
【问题讨论】:
-
从您给出的示例中,我看不到 $db 的完整声明,您可以编辑它吗?
-
完成,请原谅幼稚的密码。
-
phpinfo() 显示了关于 PDO 的内容??
-
你没有得到我,你可以留下用户名并传递空,更新你有
$db = new PDO...的行,因为我们看不到完整的行