0

内部にすでにあるdatabase.phpがあります。すでにdatabase.php内にあるので、なぜだけではなく、両方をindex.phprequire_once('../config.php')に入れる必要があるのか​​ わかりませんか? require_once('../config.php')require_once('../database.php')require_once('../database.php')require_once('../config.php')

index.phpを削除するrequire_once('../config.php')と、エラーが発生します。

<pre>Notice: Use of undefined constant DB_SERVER - assumed 'DB_SERVER' in C:\xampp\htdocs\lyndaphoto\includes\database.php on line 18

Notice: Use of undefined constant DB_USER - assumed 'DB_USER' in C:\xampp\htdocs\lyndaphoto\includes\database.php on line 18

Notice: Use of undefined constant DB_PASS - assumed 'DB_PASS' in C:\xampp\htdocs\lyndaphoto\includes\database.php on line 18

Warning: mysql_connect() [function.mysql-connect]: php_network_getaddresses: getaddrinfo failed: No such host is known. in C:\xampp\htdocs\lyndaphoto\includes\database.php on line 18

Warning: mysql_connect() [function.mysql-connect]: [2002] php_network_getaddresses: getaddrinfo failed: No such host is known. (trying to connect via tcp://DB_SERVER:3306) in C:\xampp\htdocs\lyndaphoto\includes\database.php on line 18

Warning: mysql_connect() [function.mysql-connect]: php_network_getaddresses: getaddrinfo failed: No such host is known. in C:\xampp\htdocs\lyndaphoto\includes\database.php on line 18</pre>

config.php
$server = "localhost";
$user = "root";
$db_pass = "password";
$db_name = "photo_gallery";

define("DB_SERVER", $server);
define("DB_USER", $user);
define("DB_PASS", $db_pass);
define("DB_NAME", $db_name);


database.php

require_once("config.php");

class MySQLDatabase {


private $connection;    

function __construct() {
$this->open_connection();
}

public function open_connection() {
$this->connection = mysql_connect(DB_SERVER, DB_USER, DB_PASS);
if (!$this->connection) {
die("Database connection failed: " . mysql_error());
}else {
$db_select = mysql_select_db(DB_NAME, $this->connection);
if (!$db_select) {
die("Database selection failed: " . mysql_error());
}
}
}

public function close_connection() {
if(isset($this->connection)) {
mysql_close($this->connection);
unset($this->connection);
}
}
}

$database = new MySQLDatabase();
$db =& $database;

両方のファイルは「localhost/photogallery/includes/」にあります。:)

4

2 に答える 2

2

index.phpコード内のすべてのインクルードは(または実行中のスクリプト) に基づいているためrequire_once("config.php")、 の同じディレクトリにあるファイルを検索しますindex.php。で次のことを試してくださいdatabase.php:

require_once(dirname(__FILE__) . "/config.php");
于 2012-10-01T04:31:04.427 に答える
0

インクルード ファイルを処理する別の方法は、includes.php という単一のファイルを作成することです。他のすべてのリソースが含まれます。

// Filename: includes.php

require_once 'database.php';
require_once 'config.php';

次に、index.php およびその他のドキュメントで、そのインクルード ファイルを含めることにより、アプリケーションのすべてのリソースにアクセスできます。

require_once 'includes.php';
于 2012-10-01T04:34:22.787 に答える