Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
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 06/04/2011, 17h29   #1
Invité régulier
 
Avatar de Jenojen
 
Inscription : janvier 2008
Messages : 97
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 97
Points : 6
Points : 6
Par défaut Requête ok, ressource récupérée mais impossible de récupérer les données.

Bonjour,

J'ai un problème dont je ne parviens pas à me débarrasser malgré tout mes tests.

Code :
1
2
3
4
5
$result = $Mysql-> ExecuteSQL("SELECT tentative FROM brute_force WHERE ip='$ip' AND pseudo='$pseudo'");
 
        $donnees = mysql_fetch_array($result);
 
        echo "La donnée tentative du brute force est ".$donnees['tentative'];
SELECT tentative FROM brute_force WHERE ip='Jenojen-PC' AND pseudo='Jenojen'
Le resultat est Resource id #6
La donnée tentative du brute force est

Voila ce que ça donne après des échos à chaque étape du processus.
La requête est juste est renvoi l'enregistrement voulu qui est égal à 0 quand je l'entre directement dans phpmyadmin.
Je récupère bien une ressource au bout dans ma variable $result.
Mais pas moyen de récupérer les données. J'ai vérifié le nom de mes champs, de mes variables de tout mais rien ne semble clocher à ce niveau la.

Qqun aurait-il une idée? C'est apparemment a partir du mysql_fetch_array() que ça coince.

Merci de bien vouloir m'aider.
Jenojen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 17h54   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
Tu t'es relu ? Tu as mis et pourtant tu utilise comme un tableau associatif

Allez, je te file la doc: http://php.net/manual/en/function.mysql-fetch-assoc.php
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 17h59   #3
Invité de passage
 
Homme
Étudiant
Inscription : avril 2011
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Pérou

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 3
Points : 3
Points : 3
Code :
1
2
3
4
5
6
7
8
9
10
11
$query = "ton select";
    $result = mysql_query($query);
    $cpt = mysql_num_rows($result);
 
if($cpt > 0){
 
     while ($row = mysql_fetch_array($result))
        {
            return $row[0];
        }
}

Essaie ça.. évidement il faut que tu sois connecté avant à ta bd
franzsc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 18h18   #4
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
Aïe aïe aïe... Bonjour les warning si la requête échoue.
Tu devrais plutôt utiliser cette forme:

Code :
1
2
3
4
5
6
 
if ($result = $Mysql->ExecuteSQL("SELECT tentative FROM brute_force WHERE ip='$ip' AND pseudo='$pseudo'")) {
  $donnees = mysql_fetch_assoc($result);
  echo "La donnée tentative du brute force est ".$donnees['tentative'];
}
else echo "La requête s'est lamentablement vautrée..."
Qu'est ce que c'est comme instance ??
Tu devrais utiliser PDO si tu souhaite utiliser un modèle objet: http://php.net/manual/en/book.pdo.php
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 18h20   #5
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 270
Points : 7 270
Citation:
Envoyé par Benjamin Delespierre Voir le message
Tu t'es relu ? Tu as mis et pourtant tu utilise comme un tableau associatif
Euh non, mysql_fetch_array sans la deuxième paramètre(MYSQL_NUM ou MYSQL_ASSOC) retourne à la fois un tableau associatif et indexé.

Sinon, je ne sais pas ce que c'est
Citation:
$Mysql-> ExecuteSQL
A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 18h21   #6
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
Aurais-je confondu avec mysql_fetch_num ??
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 18h29   #7
Invité régulier
 
Avatar de Jenojen
 
Inscription : janvier 2008
Messages : 97
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 97
Points : 6
Points : 6
Bon,

Rions ensemble de ma bêtise.

J'ai espéré pouvoir delete ce sujet avec qu'il ne soit trop tard mais hélas...

En fait je travaille sur une fonction anti-bruteforce.

Dans ma fonction une des premières lignes de code c'est de supprimer toutes les tentatives de bruteforce plus vieilles que 5 minutes et pour cela j'utilise donc un champ date. Le problème c'est que j'enregistrais dans mon champ date le résultat d'un time() qui ressort un int incompatible avec le champ date. Donc en fait la date du bruteforce datait à chaque fois de l'an 0 càd la naissance du petit Jesus et ma fonction se disait donc qu'elle pouvait supprimer cet enregistrement vieux de 2011 ans à peu près.
Ce qui fait qu'à chaque nouvelle tentative mon enregistrement était supprimé ensuite je faisais une recherche sur un enregistrement qui n'existait pas pour compter le nombre de tentative et ensuite en fin de fonction vu qu'il y avait pas d'enregistrement lié au bruteforce de l'utilisateur il m'en créait un nouveau réinitialisé à 0 tentatives. Quand j'allais voir dans ma base de données je me retrouvais avec le même enregistrement comme si rien ne s'était passé.

Le serpent qui se mord la queue.

Merci pour toutes ces réponses je récupère désormais tout ce qu'il faut comme il faut et tout fonctionne parfaitement.
Jenojen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 18h35   #8
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 270
Points : 7 270
Citation:
Envoyé par Benjamin Delespierre Voir le message
Aurais-je confondu avec mysql_fetch_num ??
ça existe ça
même pas vu sur google
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 21h14   #9
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
Depuis le temps que je fais du PDO, j'ai complétement oublié les fonction mysql_fetch_* Honte sur moi.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h39.


 
 
 
 
Partenaires

Hébergement Web