Page 1 sur 1

problème de connexion à la base de donnée

Posté : 12 juin 2010, 20:04
par jesuscontent
bonjour,

j'ai crée une page index.php qui fait un
require_once(includes/database.php)
lequel fait lui même un:
require_once(config.php)


le fichier config.php contient en l'occurrence:
<?php

//Constantes de la base de donnée
defined('DB_SERVER') ? null : define("DB_SERVER", "localhost");
defined('DB_USER') ? null : define("DB_USER", "root");
defined('DB_PASS') ? null : define("DB_PASS", "");
defined('DB_NAME') ? null : define("DB_NAME", "galerie_photo");

?>



et le fichier index.php contient ceci

<?php
require_once("../includes/database.php");


echo "Is this working";

?>


Quand j'essaye de charger la page index.php, j'obtiens un agréable:
La connexion à la base de donnée a échoué: 
Le fichier database est le suivant:
<?php
require_once("config.php");

class MySQLDatabase {

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

	public function open_connection() {
		$connection = mysql_connect(DB_SERVER, DB_USER, DB_PASS);
		if (!$this->connection) {
			die("La connexion à la base de donnée a échoué: " . mysql_error());
		}
		else {
			$db_select = mysql_select_db(DB_NAME, $this->connection);
			if (!$db_select) {
				die("Echec de la selection de la base de donnée: " . mysql_error());
			}
		}
	}
	
	public function close_connection() {
		if(isset($this->connection)){
			mysql_close($this->connection);
			unset($this->connection);
		}
	}
	
	public function query($sql) {
		$result = mysql_query($sql, $this->connection);
		$this->confirm_query($result);
		return $result;
	}
	
	public function mysql_prep($value) {
		$magic_quotes_active = get_magic_quotes_gpc();
		$new_enough_php = function_exists( "mysql_real_escape_string" );
		if ($new_enough_php) {
			if ($magic_quotes_active) { 
				$value = stripslashes($value);
			}
			$value = mysql_real_escape_string($value);
		}
		else {
			if (!magic_quotes_active) {
				$value = addslashes($value);
			}
		}
		return $value;
	}
	
	private function confirm_query($result) {
		if (!$result) {
			die("Database query failed: " . mysql_error());
		}
	}	
}

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

?>

Comment régler ce problème?

Re: problème de connexion à la base de donnée

Posté : 12 juin 2010, 21:18
par Ryle
La connexion est stockée dans une variable $connexion, alors que sur la ligne suivante, tu testes l'attribut connexion de ta classe :
                $this->connection = mysql_connect(DB_SERVER, DB_USER, DB_PASS);
                if (!$this->connection) {

Re: problème de connexion à la base de donnée

Posté : 13 juin 2010, 15:51
par jesuscontent
Merci.