Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/10/2011, 21h03   #1
Candidat au titre de Membre du Club
 
Inscription : juin 2009
Messages : 43
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juin 2009
Messages : 43
Points : 12
Points : 12
Par défaut mysql_num_rows(): supplied argument is not a valid MySQL result resourc

Bonsoir,

Venant de changer d'hebergeur, j'ai mon code php qui ne fonctionne plus (et je n'y connais pas grand chose).

Mon code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
mysql_connect("host", "utilisateur", "mdp");
mysql_select_db("base"); 

if (isset($_POST['recherche']))
{
	if (isset($_POST['prenom']) and (isset($_POST['nom'])))
	{
		$resultat = mysql_query("SELECT date,course,temps,moyenne,classement FROM result where nom='$_POST[nom]'and prenom='$_POST[prenom]' order by date desc");
		$nom = mysql_real_escape_string($_POST['nom']);
		$prenom = mysql_real_escape_string($_POST['prenom']);
		if(mysql_num_rows($resultat) >= 1)
		{
		echo '<h4>Les résultats de votre recherche:</h4>';
		echo '<br>';
		echo '<table>';
		echo '<tr>';
		echo '<td><strong>Année</strong></td>';
		echo '<td><strong>Course</strong></td>';
		echo '<td><strong>Temps</strong></td>';
		echo '<td><strong>Moyenne</strong></td>';
		echo '<td><strong>Classement</strong></td>';
		echo '</tr>'; 
		}
		else
		{
		 $alert = "Il n'y a pas de résultats pour ce coureur.";
		}
		
		while  ($row=mysql_fetch_row($resultat))
		{ 
			echo '<tr>';
			echo '<td>';
			echo $row[0];
			echo '</td>';
			echo '<td>';
			echo $row[1];
			echo '</td>';
			echo '<td>';
			echo $row[2];
			echo '</td>';
			echo '<td>';
			echo $row[3];
			echo '</td>';
			echo '<td>';
			echo $row[4];
			echo '</td>';
			echo '</tr>';
		} 
			echo '</table>';
	}
}
if (empty($nom) || empty($prenom))
{
  $alert2 = 'Tous les champs doivent être renseignés';
}
{
	echo '<p style="color:red">'.$alert.'</p>';
}
?>
Avant ce code fonctionnait parfaitement en tout cas.
Et puis si vous avez des idées pour optimiser ce code .

Merci d'avance
tijocanard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2011, 21h10   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 141
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 141
Points : 8 507
Points : 8 507
t'as requete est fausse, donc $resultat renvoie false
faut faire des condition, la tu pars du principe que tout fonctionne, de plus tu ne protège pas tes valeurs

active le trace mode, :
Code :
ini_set('mysql.trace_mode', true);
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2011, 21h20   #3
Candidat au titre de Membre du Club
 
Inscription : juin 2009
Messages : 43
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juin 2009
Messages : 43
Points : 12
Points : 12
j'ai ajouté la ligne en début de code mais j'ai toujours mes erreurs.
Et cette erreur en plus:
Code :
mysql_query() [http://www.mysql.com/doc]: No database selected
merci de m'aider en tout cas
tijocanard est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 14/10/2011, 21h27   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 141
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 141
Points : 8 507
Points : 8 507
t'as sélectionné la bonne base de données ?
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2011, 21h37   #5
Candidat au titre de Membre du Club
 
Inscription : juin 2009
Messages : 43
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juin 2009
Messages : 43
Points : 12
Points : 12
et bien.. non quel con
donc ca marche impec finalement

par contre il me reste un souci avec mon test
Code :
1
2
3
4
 if (empty($nom) || empty($prenom))
{
  $alert2 = 'Tous les champs doivent être renseignés';
}
ca me renvoit mon autre test
Code :
1
2
3
{
  $alert = "Il n'y a pas de résultats pour ce coureur.";
		}
encore merci
tijocanard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2011, 21h41   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 141
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 141
Points : 8 507
Points : 8 507
ton if n'as pas l'air a la bonne place
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2011, 21h45   #7
Candidat au titre de Membre du Club
 
Inscription : juin 2009
Messages : 43
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juin 2009
Messages : 43
Points : 12
Points : 12
ok, je regarderais ca demain alors.

encore merci à toi, rapide et efficace !
bonne soirée
tijocanard est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h08.


 
 
 
 
Partenaires

Hébergement Web