尝试打开MySQL连接时出现MySQL错误

时间:2012-06-19 21:58:00

标签: php mysql localhost

当我尝试打开与我的MACBOOK上运行的MySQL的连接时,我收到以下错误:

警告:mysql_connect():[2002]在/Users/Eugene/Sites/website/includes/database.php中没有这样的文件或目录(尝试通过unix:///var/mysql/mysql.sock连接)第15行警告:mysql_connect():第15行/Users/Eugene/Sites/website/includes/database.php中没有此类文件或目录注意:未定义变量:/ Users / Evgeny / Sites / website / includes中的连接/第16行的database.php数据库连接失败:没有这样的文件或目录

我的常数是:

defined('DB_SERVER') ? null : define("DB_SERVER", "localhost");
defined('DB_USER') ? null : define("DB_USER", "eugene");
defined('DB_PASS') ? null : define("DB_PASS", "password"); // no comments please :)
defined('DB_NAME') ? null : define("DB_NAME", "maindb");

我尝试连接的方式是:

$connection = mysql_connect(DB_SERVER, DB_USER, DB_PASS);
if(!$connection) // if no connection - die
{
    die("Database connection failed: " . mysql_error());
}
else // if there is a connection, then go and select a database
{
    $db_select = mysql_select_db(DB_NAME, $connection);
    if(!$db_select) // if no database selected - die
    {
        die("Database selection failed: " . mysql_error());
    }
}

请帮忙,

提前致谢。

4 个答案:

答案 0 :(得分:2)

  

$ this-> connection = mysql_connect(DB_SERVER,DB_USER,DB_PASS);

第一个问题是mysqld没有使用与客户端相同的套接字路径。尝试通过127.0.0.1访问,然后运行'show variables'找到它放置套接字的地方 - 适当更新你的PHP配置。

  

如果(!$连接)

但你把连接放在'$ this->连接'而不是'$ connection'

答案 1 :(得分:0)

您正在通过$this设置实例变量,但测试局部变量。假设没有其他更改,您的代码应如下所示:

$connection = mysql_connect(DB_SERVER, DB_USER, DB_PASS);
if (!$connection) // if no connection - die
{
    die("Database connection failed: " . mysql_error());
}

试一试!

答案 2 :(得分:0)

您正在混合类变量和局部变量。 $this->connection$connection不同。

答案 3 :(得分:0)

如果你要从一个班级调用$连接,只需输入if(!$ this-> connection){.....} 或者,如果不是只是把这一行if(!$ connection){.....}

相关问题