mysql_num_rows()

Eléphant du PHP | 102 Messages

06 mars 2005, 00:19

Bonsoir,
J'ai un petit soucis sur un mysql_num_rows qui marche parfaitement en local, mais qui s'énerve une fois tout uploadé.

Voici mon code :
$query = "Select * from table";
	$result = mysql_query($query);
	// Compter les lignes
	$nb_ligne = mysql_num_rows($result);
Edit : Mon serveur est bien sous PHP 4 :D

Est-ce-que quelqu'un a une idée ? Je sèche complètement là :shock:
Merci d'avance

Mammouth du PHP | 1885 Messages

06 mars 2005, 00:40

As-tu bien créer tes tables sur ton serveur?
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

06 mars 2005, 01:02

Je ne sais pas pour ton installation, mais je te conseille d'oublier mysql_num_rows() totalement. Pourquoi ? simplement parce que la plupart du temps c'est la mauvaise façon d'obtenir ce que tu veux. En l'occurence, tu peux remplacer le code ci-dessus par:
$query = 'SELECT COUNT(*) AS total FROM table';
if (!$result = mysql_query($query))
{
   die('Erreur MySQL: ' . mysql_error());
}

$row = mysql_fetch_assoc($result);
$nb_ligne = $row['total'];
Contrairement à ce que tu utilisais, ce code n'a pas à sélectionner tous les enregistrements de la table, il est donc beaucoup plus rapide.

Eléphant du PHP | 102 Messages

06 mars 2005, 01:17

Oui j'ai bien créé les tables.

Merci beaucoup pour ce code je le teste tout de suite :)
Edit : Fonctionne très bien, merci encore.