[PHP/MySQL] probleme requete between
Résolu
Matii_75
Messages postés
22
Statut
Membre
-
Matii_75 Messages postés 22 Statut Membre -
Matii_75 Messages postés 22 Statut Membre -
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
- Erreur de requete facebook - Forum Facebook
- Alert php ✓ - Forum PHP
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))