Aller au contenu

[résolu]PHP ne veut plus me générer ma page?


windu.2b

Messages recommandés

Bonjour,

J'ai un pb assez bizarre: mon code PHP ne se génère plus, mais ne me renvoie pas d'erreurs non plus!!!

Je m'explique: j'ai réinstallé ma Ubuntu car le passage Dapper->Edgy fut quelque peu pourri, donc j'ai une Edgy fraiche avec les paquets-qui-vont-bien, mais lorsque je veux afficher un de mes sites Web en local, il ne me génère rien du tout! Mais ne me renvoie pas d'erreurs

voici la page incriminée:

<?php
session_start();
require_once('../include/config.inc.php');
require_once('../include/functions.inc.php');
//echo md5(microtime());
function __autoload($className)
{
require_once("../classes/$className.class.php");
}

[b] $base = DataBase::getInstance(); [/b]
$titre = 'Accueil';
$contenu = '';

/* ########  CREATION DE L'OBJET AUTH ######## */
/*if(!is_object($_SESSION['utilisateur']))
{
$_SESSION['utilisateur'] = new Utilisateur('', array(), $base);
}

/* ########  VERIFICATION DES DROITS D'ACCES ######## */
/*if($_SESSION['utilisateur']->verifAcces('private'))
{
header('Location:../private/index.php');
}
*/
switch ($_GET['action'])
{
case '':
{

	break;
}

default:
{
	break;
}
}

$menu = new Menu('');
$menu = $menu->affiche();

require_once('../skin/public.html.php');
?>

Alors en fait, j'ai remarqué que c'était la ligne en gras qui posait pb: si je la commente, tout le reste se passe bien! J'ai donc regardé le code appelé par cette ligne, code que voici:

<?php

/*
class.database.mysql.php
Provides a simple MySQL Wrapper
Generic functions names so it would be easy to switch to another SGBD
Revision 0.02 - 11/03/06 22:04 - Complete revision to use PHP5 structs
*/

class DataBase implements DataBaseInterface
{

// Internal use
private $error;
private $errorn;
private $logger;
private $link = false;
public static $instance = false;


/**
 * Connects to database server and selects the database
 *
 * @param unknown_type $pconnect
 * @return unknown
 */
public function connect ( $pconnect = false )
{
	if ( $pconnect )
	{
		$this->link = @mysql_pconnect( SERVEUR, NOM, PASSWD );
	}
	else
	{
		$this->link = @mysql_connect( SERVEUR, NOM, PASSWD );
	}
	@mysql_select_db( BASE, $this->link );
	return $this->link;
}


/**
 * Executes a SQL query and returns the results (it may also profile the execution)
 *
 * @param string $sql
 * @param int $limit
 * @param int $start
 * @return resource
 */
public function query ( $sql, $limit = 0, $start = 0 )
{
	$this->error = NULL;
	$this->errorn = NULL;
	//		$time = explode ( ' ', microtime() );
	//		$starttime = $time[1] + $time[0];
	if ( !empty ( $limit ) )
	{
		if ( empty ( $start ) )
		$start = 0;
		$sql = $sql. ' LIMIT '.intval ( $start ).', '.intval ( $limit );
	}
	$result = mysql_query( $sql );
	//		$time = explode ( ' ', microtime() );
	//		$endtime = $time[1] + $time[0];
	//		$length = round (($endtime - $starttime), 4);
	//		$this->logger->logQuery( $sql, $length, $this->error, $this->errorn );
	//		unset ( $time, $starttime, $endtime, $length );
	return $result;
}


/**
 * Permet d'exécuter une requête de type SELECT
 *
 * @param string $requete
 * @return array
 */
public function recupere($requete, $limit = '', $start = '' )
{
	if(!$result = $this->query( $requete, $limit, $start ))
	{
		die( $this->error() );
	}
	else
	{
		$tab = array();
		$this->countSelect = mysql_num_rows($result);
		if($this->countSelect > 1)
		{
			while ($data = $this->fetchObject($result))
			{
				$tab[] = $data;
			}
		}
		elseif ($this->countSelect == 1)
		{
			$tab = array(mysql_fetch_object($result));
		}

		$this->nbreRequetes ++;
		return $tab;
	}
}


/**
 * Permet d'exécuter une requête de type INSERT, UPDATE ou DELETE
 *
 * @param string $requete
 * @return int
 */
public function execute($requete)
{
	if(!$result = $this->query($requete))
	{
		die( $this->error() );
	}
	else
	{
		$this->nbreRequetes ++;
		return mysql_affected_rows();
	}
}


/**
 * Returns the last error
 *
 * @return unknown
 */
public function error (  )
{
	$this->error = mysql_error (  );
	$this->errorn = mysql_errno (  );
	return "{$this->errorn} : {$this->error}";
}


/**
 * Fetchs the next row of a given result resource
 *
 * @param resource $result
 * @return array
 */
public function fetchArray ( $result )
{
	return @mysql_fetch_assoc ( $result );
}


/**
 * Fetchs the next row of a given result resource
 *
 * @param resource $result
 * @return object
 */
public function fetchObject( $result )
{
	return @mysql_fetch_object( $result );
}


/**
 * Returns the rows count of a given result resource
 *
 * @param resource $result
 * @return int
 */
public function numRows ( $result )
{
	return @mysql_num_rows ( $result );
}


/**
 * Returns how many rows were affected by the last query
 *
 * @return int
 */
public function affectedRows (  )
{
	return @mysql_affected_rows ( $this->link );
}


/**
 * Returns the last insert id
 *
 * @return int
 */
public function insertId (  )
{
	return @mysql_insert_id (  );
}

/**
 * Closes the current connection
 *
 */
public function close (  )
{
	@mysql_close( $this->link );
}


/**
 * Returns the prefixed table name if any prefix
 *
 * @param string $table_name
 * @return string
 */
public function prefix ( $table_name )
{
	return !defined ( "SQLprefix" ) ? $table_name : SQLprefix."_{$table_name}";
}


/**
 * Feturns how many queries have been processed
 *
 * @return int
 */
public function getNbreRequetes (  )
{
	return $this->nbreRequetes;
}


/**
 * Escapes a string for security
 *
 * @param string $str
 * @return string
 */
public function escapeString ( $str )
{
	return mysql_real_escape_string( stripslashes ( $str ) );
}


/**
 * Returns a reference of the DataBase object instance
 *
 * @return reference
 */
public static function &getInstance(  )
{
	if ( !DataBase::$instance )
	{
		DataBase::$instance = new DataBase();
		//DataBase::instance->logger =& Logger::getInstance( );
		if ( !DataBase::$instance->connect (  ) )
		{
			die( "Impossible de se connecter à la base de données : ".DataBase::$instance->error (  ) );
		}
	}
	return DataBase::$instance;
}


public function __destruct( )
{
	$this->close();
}
}

?>

Et donc, je ne vois pas où est le pb: ce code fonctionne pour php5 et je suis en php 5.1.6, comme me le rappelle une page 404 (provoquée volontairement pour vérifier):

Apache/2.0.55 (Ubuntu) PHP/5.1.6 Server at localhost Port 80

Donc ma question: vous voyez d'où ce pb peut-il venir?

Edit: je sais pas pourquoi mais les balises gras ne veulent pas s'activer...

Lien vers le commentaire
Partager sur d’autres sites

Essaye de mettre des prints dans ta classe getInstance pour voir à quel moment ça chie.

Sinon tente de commenter chaque petit bout jusqu'à obtenir celui qui pose problème.

   public static function &getInstance(  )
{
	if ( !DataBase::$instance )
	{
		DataBase::$instance = new DataBase();
		//DataBase::instance->logger =& Logger::getInstance( );
		if ( !DataBase::$instance->connect (  ) )
		{
			die( "Impossible de se connecter à la base de données : ".DataBase::$instance->error (  ) );
		}
	}
	return DataBase::$instance;
}

PS : Les balises gras ne fonctionnent pas dans les balise code.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...