2013-08-19 33 views
-1

我正在学习PHP,并且正在处理连接到我的数据库并提取一些数据的脚本。无法连接到本地主机

我在本地主机上运行的网站是一个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', 

我怎么会办法搞清楚接下来的步骤?这是一个常见的错误?有没有人有任何指针?

+0

尝试'@mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME)',因为您将它们定义为变量,所以它应该没有引号。 – putvande

+0

忽略这一点,完全错误的信息,对不起。 –

回答

4

您需要串门您常量单引号:

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

你也应该从功能使用前不要@。如果您希望抑制错误,请使用适当的错误处理。