2012-09-01 56 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';

相关问题