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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : problème de connexion à la base de donnée

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

par jesuscontent » 13 juin 2010, 15:51

Merci.

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

par Ryle » 12 juin 2010, 21:18

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) {

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

par jesuscontent » 12 juin 2010, 20:04

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?