2011-08-02 32 views
2

我試圖將我的數據庫連接腳本移動到外部(因此更安全)的文件。但是,它沒有工作。我的PHP包含數據庫連接有什麼問題?

這裏我的PHP頁面(與包括鏈接)

<?php 
include 'block/datalogin.php'; 
..etc 

而且繼承人塊/ datalogin.php

$dbhost = "localhost"; 
$dbuser = "************"; 
$dbpass = "***********"; 
$dbname = "************"; 
@mysql_connect($dbhost, $dbuser, $dbpass) or die("unable to 
connect to database." 
); 
mysql_select_db($dbname) or die ("Unable to select"); 

我敢肯定的路徑和登錄信息是正確的。

有什麼建議嗎?

+0

你的意思是有'@''中的mysql_connect'前面? –

+0

你是否「無法連接到數據庫」。或「無法選擇」錯誤消息?你有沒有啓用PHP顯示錯誤? – Hossein

+0

@丹尼爾仍然沒有工作..當我有腳本複製並直接粘貼到我的原始文件(不包括)它的工作... –

回答

1

首先,Don't use mysql_* functions in new code。他們不再維護and are officially deprecated。請參閱red box?請改爲了解prepared statements,並使用PDOMySQLi - this article將幫助您決定哪個。如果您選擇PDO,here is a good tutorial


<?php 
    $dbhost = "localhost"; 
    $dbuser = "************"; 
    $dbpass = "***********"; 
    $dbname = "************"; 
    $conn=mysql_connect($dbhost, $dbuser, $dbpass) or die("unable to connect to database."); 
    mysql_select_db($dbname) or die ("Unable to select"); 
?> 

然後使用在$conn變量查詢的

mysql_query("SELECT * from ....",$conn); 
+0

沒有仍然不工作.. –

+1

你使用開放和關閉標記''把'error_reporting(E_ALL);'放在你包含的頁面上,會給你一些你可以使用的錯誤。 –

+0

''做到了!我原本不參與,因爲我不認爲包含文件會要求這個 –

2

取出mysql_connect前面的「@」符號。

+0

仍然沒有工作..當我有腳本複製並粘貼到我的原始文件中(不包括)它是否工作 –