2012-09-01 90 views
0

到mysql我想用一個單一的文件我的PHP應用程序連接到數據庫時在創建一個單獨的文件連接用PHP

在第一時間或登錄用戶註冊什麼是碼是同樣如下是好:

$username="root"; 
$password="root"; 
$database="test"; 



    function Save($name) 
    { 
     global $username; 
     global $password; 
     global $database; 

     $link = mysql_connect('localhost', $username, $password); 
     if (!$link) { 
      die('Could not connect: ' . mysql_error()); 
     } 
     @mysql_select_db($database) or die("Unable to select database"); 
     $query = "INSERT INTO test (name)" . 
       "VALUES ('" . $name . "')"; 
     mysql_query($query); 
     mysql_close(); 
    } 

此外,我該如何做該文件的要求?它位於應用程序文件夾的根目錄中,但是我需要'/filename.php'之後首先反斜槓,或者我應該先放雙點?

回答

1

你的問題essentailly歸結爲「我怎麼能包括在任何地方的根文件」。那麼,有兩個答案。

第一個答案是隻使用inlude($_SERVER['DOCUMENT_ROOT']."/connect.php");,但這是很多類型,特別是如果你有很多包括。

就我個人而言,我喜歡用chdir($_SERVER['DOCUMENT_ROOT']);開始我的腳本然後我不必擔心我在哪裏 - 我將永遠在根文件夾中。

0
  1. 如果每個請求都會有很多這樣的調用,那麼在每個save上打開mysql連接可能不太好。
  2. inlude($_SERVER['DOCUMENT_ROOT'] . '/db.php');
2

如果文件在同一目錄下,你可以簡單地使用:include_once "db.php";

如果是在父目錄(即一個級別),然後使用:include_once "../db.php";

另一個是將全局DOCUMENT_ROOT追加文件名(與其他人在下面給出的例子一樣)。

而且,避免mysql_ *函數。改用PDO或mysqli。

祝你好運。 :)

+1

你是男人。 – RubyBeginner

0

幾點意見: 首先,如果你不需要在其他地方使用密碼和用戶名和數據庫,你應該在函數中定義它們。第二,如果我沒有弄錯,如果你把「/」放在路徑的前面,這將把你帶到文件系統的根目錄,我猜這個用戶不會有進入。這就是說,我會用「..」來導航層次結構。因此,使用: require_once(「../路徑/要/ file.php」)

0

寧可把包含文件的文檔根目錄,你應該創建一個目錄常見的包括文件,並將其添加到include_path設置在php.ini。然後你可以做include 'connect.php';

相關問題