[PHP/MySQL] probleme requete between
Résolu
Matii_75
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
Matii_75 Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
Matii_75 Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Encore et toujours un petit soucis en Php ... cette fois ci je souhaite afficher les champs pour les identifiants n°xxx à yyy ...
J'ai donc un formulaire :
Et mon code PHP :
Erreur : Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /var/www/stage/recherche_id_bis.php on line 53
Encore et toujours un petit soucis en Php ... cette fois ci je souhaite afficher les champs pour les identifiants n°xxx à yyy ...
J'ai donc un formulaire :
<form method="POST" action="recherche_id_bis.php"> <p>Identifiant : </p> <input type="text" name="id1" size="20"> <input type="text" name="id2" size="20"> <input type="submit" value="rechercher">
Et mon code PHP :
$id=mysql_real_escape_string($_POST['id1']['id2']); // Requete $query = "SELECT id, source, date, mac, ip, epoch, texte FROM enregistrement WHERE id BETWEEN $id1 AND $id2;"; $result = mysql_query($query); // Resultats while($row = mysql_fetch_row($result)) { $id = $row[0]; $source = $row[1];
Erreur : Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /var/www/stage/recherche_id_bis.php on line 53
A voir également:
- [PHP/MySQL] probleme requete between
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php ✓ - Forum PHP
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
4 réponses
Bonjour.
A priori, ta requête est incorrecte...
Affiche les valeurs de $id1, $id2 et $query, histoire de voir ce qu'il y a dedans.
Avec le BETWEEN, je suppose que ton champ id est une valeur numérique ? Essaye en mettant
Erreur : Warning: mysql_fetch_row()
A priori, ta requête est incorrecte...
Affiche les valeurs de $id1, $id2 et $query, histoire de voir ce qu'il y a dedans.
Avec le BETWEEN, je suppose que ton champ id est une valeur numérique ? Essaye en mettant
BETWEEN intval($id1) AND intval($id2)
Salut,
Dans ton script $id1 et $id2 n'existent pas, et tu définies $id d'une manière incorrecte.
Essai de remplacer
par
De manière générale, quelques conseils :
- En phase de développement, placer au début du script php error_reporting(E_ALL) afin de voir toutes les erreurs même les moins critiques (variables non définies par exemple).
- quand un requête ne marche pas mettre un echo $requete quelque part pour voir la requête réellement envoyée au serveur de BD.
- Tester le retour de mysql_query,
Par exemple dans ton cas pour les 2 derniers points:
Dans ton script $id1 et $id2 n'existent pas, et tu définies $id d'une manière incorrecte.
Essai de remplacer
$id=mysql_real_escape_string($_POST['id1']['id2']);
par
$id1=mysql_real_escape_string($_POST['id1']); $id2=mysql_real_escape_string($_POST['id2']);
De manière générale, quelques conseils :
- En phase de développement, placer au début du script php error_reporting(E_ALL) afin de voir toutes les erreurs même les moins critiques (variables non définies par exemple).
- quand un requête ne marche pas mettre un echo $requete quelque part pour voir la requête réellement envoyée au serveur de BD.
- Tester le retour de mysql_query,
Par exemple dans ton cas pour les 2 derniers points:
$result = mysql_query($query); if(!$result){ echo "Impossible d'exécuter la requête $query"; die(mysql_error()); } while ...
Merci la solution est donc :
$idun=mysql_real_escape_string($_POST['idun']); $iddeux=mysql_real_escape_string($_POST['iddeux']); // Requete $query = "SELECT id, source, date, mac, ip, epoch, texte FROM enregistrement WHERE id BETWEEN $idun AND $iddeux;"; $result = mysql_query($query); // Resultats while($row = mysql_fetch_row($result))