Jump to content

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


windu.2b

Recommended Posts

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...

Link to comment
Share on other 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.

Link to comment
Share on other sites

Bon, je me réponds tout seul, et je me colle un :chinois: et un :boulet:

J'avais tout simplement oubli le paquet php5-mysql! :craint:

bon, par contre, je suis surpris que php ne m'ait pas dit qu'il n'arrivait pas à trouver les fonctions mysql_*

M'enfin, c'est résolu, c'est déjà ca

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...