Conseil pour MySQLI

Résolu
crocoscore Messages postés 165 Date d'inscription   Statut Membre Dernière intervention   -  
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   - 5 juil. 2011 à 21:43
Bonjour,
J'ai longtemps utilisé la fonction mysql_ en php pour communiqué avec mes bases de données. Même si ça fonctionne parfaitement, j'ai décidé de me mettre à jour car j'ai lu (notament sur php.net) qu'il fallait à présent utiliser mysqli_ car elle possèdait de nombreux avantages. Je ne m'en rends pas encore compte mais je pense que c'est du faite de ma trop petite expérience avec elle.

Je viens donc vous demandez votre avis sur le code que j'ai créé pour savoir s'il faut l'ameilliorer ou même le modifier complètement (mais il marche tout au si bien qu'avant, avec mysql_).

Fichier connexion.php (inséré grâce à include()) :
if(! $connexion = mysqli_connect('localhost', 'root', '', 'bdd'))
{
	echo mysqli_error($connexion);
	exit;
}


Page d'affichage de news :
<?php include("include/connexion.php");

$retour = mysqli_query($connexion, 'SELECT * FROM nouvelle ORDER BY id DESC');
while ($donnees = mysqli_fetch_assoc($retour))
{
?>
	<div id="<?php echo $donnees['id'];?>">
		<h2 class="nouvelles">
			<?php echo stripslashes(htmlspecialchars($donnees['titre'])); ?>, <em>publié le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em>
		</h2>    
		<p><?php echo nl2br(htmlspecialchars(stripslashes($donnees['contenu'])));?></p>
	</div>
	
<hr />
<?php
}
	mysqli_free_result($retour);
?>
A voir également:

2 réponses

Doctor3600
 
intéressant ! mais pourquoi ne pas faire du php5 en creant une class connection qui permettra de faire tout ce qu'il faut ...
et si tu tu voudrais te mettre à la page, pense en MVC et regarde un framework genre zend ...
0
crocoscore Messages postés 165 Date d'inscription   Statut Membre Dernière intervention   5
 
Je vais jeter un coup d'oeil, merci ;)
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Salut,

Évite l'usage des liens ("stockage" de la connexion en variable) lorsqu'il n'y a qu'une seule connexion.

Sinon, je te conseille également de rendre ta base de données accessible via une classe. C'est ce qu'on appelle le Mapping objet-relationnel, ou en anglais Object-relational mapping (ORM). Il existe des bibliothèques qui font ça très bien, comme Doctrine (utilisée dans le framework Symfony).
0