无法连接到localhost

时间:2013-08-19 17:16:14

标签: php sql mysqli

我正在学习PHP并正在编写一个连接到我的数据库并提取一些数据的脚本。

我在localhost上运行的网站是一个PHP驱动的CMS。

脚本的一部分在这里

DEFINE ('DB_USER','myname');
DEFINE ('DB_PASSWORD','somepass123');
DEFINE ('DB_HOST','localhost');
DEFINE ('DB_NAME','sitename');


// make the db connection
$dbc = @mysqli_connect('DB_HOST','DB_USER','DB_PASSWORD','DB_NAME')
    OR die ('Could not connect to mysql: ' . mysqli_connect_error());

当我加载一个利用PHP的页面时,我收到以下错误,其中输出数据应该是:

  

无法连接到mysql:未知的MySQL服务器主机' DB_HOST' (1)

我做了一些关于SO和一些谷歌搜索的研究。可疑问题可能是DB_HOST在别处定义。这看起来有道理吗?我没有足够的经验知道这是不是正确的道路。

我在config / database.php文件中找到了这个,我不确定它是否相关:

$config['default'] = array(
    'benchmark' => TRUE,
    'persistent' => FALSE,
    'connection' => array(
        'type' => 'mysqli',
        'user' => 'myname',
        'pass' => 'somepass123',
        'host' => 'localhost',
        'port' => FALSE,
        'socket' => FALSE,
        'database' => 'sitename',

我如何处理后续步骤?这是一个常见错误吗?有没有人有任何指示?

1 个答案:

答案 0 :(得分:4)

你需要在常量周围删除单引号:

$dbc = mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME)
         OR die ('Could not connect to mysql: ' . mysqli_connect_error());

您还应该避免在功能面前使用@。如果您希望抑制错误,请使用正确的错误处理。