PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 07-06-2009 14:56:24

hichoum
Membre
Inscription : 04-06-2009
Messages : 29

[Résolu] supplied argument is not a valid MySQL result

désole pour le titre qui n'a rien avoir avec le message c est une erreur (on ne peut pas modifier ??)

Salut,

JE permet de revenir vers vous car j ai un autre soucis dans mon code enfin je pense czar je n'ai aucune erreur j'ai meme mon petit message a la fin qui s'affiche en me disant enregistrement OK. Mais quand je me connecte a base il n y a rien ...

Du coup je ne sais pas trop ce qu il faut que je cherche.
Et c est pour cela que je viens faire appele à vos experiences.
Je peux m'etre le code s'il y a besoin
Merci de votre aide

Hicham

Dernière modification par hichoum (07-06-2009 15:10:06)

Hors ligne

#2 07-06-2009 15:42:14

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] supplied argument is not a valid MySQL result

Saluton,

hichoum a écrit :

Je peux m'etre le code s'il y a besoin

c'est pas de refus car je ne sais plus trop de quoi tu nous parles.
Pour le titre, dis-moi ce que tu veux mettre je peux te le changer.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 07-06-2009 16:18:37

hichoum
Membre
Inscription : 04-06-2009
Messages : 29

Re : [Résolu] supplied argument is not a valid MySQL result

Merci de me repondre
Pour le titre un truc du genre "pas de données enregistrées dans la base"
En ce qui concerne le probleme j'ai bien l'impression que le code s'execute correctement car je n'ai aucun message d'erreur (php.ini configurer sur wamp pour afficher les erreurs).
A la fin de l'execution j'ai un mon petit message qui confirme que je suis inscris mais qund je me connecte a phpmyadmin la table est vide

Merci

voici tout le code :


<?php #1ere partie de l'inscription (login et mot de passe email) pour artistes et recruteurs
$titrepage = "Enregistrement premiere partie";
//require_once ('../config/config.php');
if (isset($_POST['submit']))
{
  // Test du formulaire
  require_once ('../config/config.php');
  require_once ('../config/mysqlconnect.php');
  //test du champs prenom
  if (eregi ("^[[:alpha:].' -]{2,30}$",
           stripslashes(trim($_POST['prenom']))))
    {
    $pr = echappement($_POST['prenom']);
    }
  else
    {
    $pr = FALSE;
    echo "Merci d'indiquer votre prenom </br>";
    }
 
  //test du champs nom
  if (eregi ("^[[:alpha:].' -]{2,30}$",
           stripslashes(trim($_POST['nom']))))
    {
      $no = echappement($_POST['nom']);
    }
  else
    {
      $no = FALSE;
      echo "Merci d'indiquer votre nom</br>";
    }
 
  //test du champs email
  if (eregi ("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$",
           stripslashes(trim($_POST['email']))))
    {
      $em = echappement($_POST['email']);
    }
  else
    {
      $em = FALSE;
      echo "Merci d'indiquer votre adresse Email</br>";
    }
   
  //test du champs nom d'utilosateur
  if (eregi ("^[[:alnum:]_]{4,20}$",
           stripslashes(trim($_POST['nom_utilisateur']))))
    {
      $nu = echappement($_POST['nom_utilisateur']);
    }
  else
    {
      $nu = FALSE;
      echo "Merci d'indiquer votre nom d'utilisateur</br>";
    }
   
  //test du champs mot de passe
  if (eregi ("^[[:alnum:]]{4,20}$",
           stripslashes(trim($_POST['mdp']))))
    {
      if ($_POST['mdp'] == $_POST['mdp2'])
        {
          $mp = echappement($_POST['mdp']);
        }
      else
        {  
          $mp = FALSE;
          echo  "Les mots de passe saisies ne sont pas identiques</br>";
        }
    }
  else
    {  
      $mp = FALSE;
      echo "Le mot de passe saisies n'est pas valide</br>";
    }
 
  if ($pr && $no && $em && $nu && $mp)
    {// les données sont OK
    //verification si le login n'existe pas dans la base
      $rq = "SELECT id_utilisateur FROM login WHERE nom_utilisateur = '$nu'";
      $result = @mysql_query ($rq);
     
      if (mysql_num_rows ($result) == 0)
        {
          //on ajoute l'utilisateur
          $rq = "INSERT INTO login" . "nom_utilisateur, prenom, nom, email, mdp, date_enreg)" . "VALUES ('$nu', '$pr', '$no', '$em', PASSWORD('$mp'), NOW())" ;
         
          if ($result)
            {
              echo "enregistrement OK" ;
              exit;
             
            }
          else
            {
              echo "suite à une erreur votre compte n'a pas été créé";
            }
         }
     
      else
        { // Le login existe deja
          echo "le nom d'utilisateur existe dans la base";
        }
           mysql_close();
    }
  else
    { // Si un test n'a pas fonctionner
      echo "Erreur merci de recommencer";
    }
}
?>
<table width="100%" border="0" cellspacing="10" cellpadding="0">
  <tr>
    <td><form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
 
  <p class="titrepage">Devenir membre de CVIEW-CAST.COM</p>
  <p class="titrepage"> </p>
  <p class="titrepage"> </p>
  <table width="51%" border="0" align="center" cellpadding="0" cellspacing="3">
  <tr>
    <td>Prenom</td
    ><td><input name="prenom" type="text" id="prenom" size="20" maxlength="40" value="<? if (isset($_POST['prenom'])) echo $_POST['prenom'] ; ?>"></td>
  </tr>
  <tr>
    <td>Nom</td>
    <td><input name="nom" type="text" id="nom" size="20" maxlength="40" value="<? if (isset($_POST['nom'])) echo $_POST['nom'] ; ?>" /></td>
  </tr>
  <tr>
    <td>Adresse Email</td>
    <td><input name="email" type="text" id="email" size="20" maxlength="40" value="<? if (isset($_POST['email'])) echo $_POST['email'] ; ?>" /></td>
  </tr>
  <tr>
    <td>Nom d'utilisateur</td>
    <td><input name="nom_utilisateur" type="text" id="nom_utilisateur" size="20" maxlength="40" value="<? if (isset($_POST['nom_utilisateur'])) echo $_POST['nom_utilisateur'] ; ?>"/></td>
  </tr>
  <tr>
    <td>Mot de passe</td>
    <td><input name="mdp" type="password" id="mdp" size="20" maxlength="40"  /></td>
  </tr>
  <tr>
    <td>Confirmez votre mot de passe </td>
    <td><input name="mdp2" type="password" id="mdp2" size="20" maxlength="40" /></td>
  </tr>
  <tr>
    <td colspan="2" align="center"><p> 
      </p>
      <p>
        <input type="submit" name="submit" id="submit" value="Envoyer">
      </p></td>
    </tr>
  </table>
  <p> </p>
    </form>
</td>
  </tr>
</table>
 

Hors ligne

#4 07-06-2009 16:25:00

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] supplied argument is not a valid MySQL result

Deux conseils :
1. l'orthographe mot de passe n'est pas féminin donc il n'a pas à être saisi[large]e[/large]
2. Après la requête INSERT, fais un echo last_insert_id(); , juste pour voir, en lieu et place de echo "enregistrement OK" ;


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#5 07-06-2009 16:57:36

hichoum
Membre
Inscription : 04-06-2009
Messages : 29

Re : [Résolu] supplied argument is not a valid MySQL result

j'ai essayé :


$rq = "INSERT INTO login" . "nom_utilisateur, prenom, nom, email, mdp, date_enreg)" . "VALUES ('$nu', '$pr', '$no', '$em', PASSWORD('$mp'), NOW())" ;
         
          if ($result)
            {
              echo LAST_INSERT_ID() ;
              exit;
             
            }
 

Mais je pense j'au dû mal comprendre car j'ai une erreur :
Fatal error: Call to undefined function last_insert_id()

Merci

Hors ligne

#6 07-06-2009 18:01:40

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] supplied argument is not a valid MySQL result

Non c'est moi, en php c'est mysql_insert_id(), last_insert_id()c'est en MySQL


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#7 07-06-2009 20:18:35

hichoum
Membre
Inscription : 04-06-2009
Messages : 29

Re : [Résolu] supplied argument is not a valid MySQL result

OK je viens de tester et ca fonctionne, enfin la fonction fonctionne et donc j'ai une réponse 0. Ca serait un probleme de conexion à la bdd ??

encore merci
Hicham

Hors ligne

#8 07-06-2009 20:25:36

mcAllan
Mowdérateur
Lieu : Châteaurenard en Provence
Inscription : 08-05-2009
Messages : 269

Re : [Résolu] supplied argument is not a valid MySQL result

B'soir,

il me semble que la requête insert n'est pas soumise via un mysql_query()...
et $result est donc le résultat du $rq = "SELECT..."
Ou il n'y a pas le code complet ?


Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop

Hors ligne

#9 07-06-2009 21:04:32

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] supplied argument is not a valid MySQL result

Comme quoi, s'immerger dans PDO fait perdre pied avec la réalité la plus élémentaire.
Je n'avais même pas vu que la requête n'avait pas été soumise au serveur MySQL.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#10 07-06-2009 22:29:26

hichoum
Membre
Inscription : 04-06-2009
Messages : 29

Re : [Résolu] supplied argument is not a valid MySQL result

Salut,

Le code qui gère le formulaire est complet j'inclus 2 fichiers un contenant une fonction pour gérer les erreurs et l'autre les parametres de connexion et une fonction echappement
JE peux les mettre en ligne si cela est nécessaire

Hors ligne

#11 08-06-2009 07:39:28

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] supplied argument is not a valid MySQL result

Tu ne sembles pas avoir compris ce que l'on te dit [mcAllan est le on en question].
Tu mets le code de ta requête d'insertion dans la variable $r, c'est ton choix.
C'est un peu comme si tu mettais une lettre dans une enveloppe.
Mais ensuite l'enveloppe si tu veux qu'elle arrive chez le serveur MySQL, il faut la poster.
Or, il n'y a pas de mysql_query($r) dans ton script, donc PHP n'envoie jamais l'enveloppe à MySQL qui ne la recevant pas ne l'exécute pas non plus.
Comme tu testes $result qui contient le résultat du SELECT précédent, PHP te dit que tout va bien.
Capice ?


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#12 08-06-2009 13:22:25

hichoum
Membre
Inscription : 04-06-2009
Messages : 29

Re : [Résolu] supplied argument is not a valid MySQL result

Salut désolé mais je suis obligé de revenir vers vous car j'ai encore des soucis avec ce code.
voila j'ai rajouté :

[code = php]
if (mysql_num_rows ($result) == 0)
                {
                    //on ajoute l'utilisateur
                    $rq = "INSERT INTO login" . "nom_utilisateur, prenom, nom, email, mdp, date_enreg)" . "VALUES ('$nu', '$pr', '$no', '$em', PASSWORD('$mp'), NOW())" ;
                    $result = @mysql_query ($rq) or die('Erreur SQL !'.$rq.'<br>'.mysql_error());
                    if ($r)
                        {
                            echo mysql_insert_id();
                            exit;
                           
                        }
[/code]

mais j'ai une autre erreur que je ne comprends pas non plus ^^
Erreur SQL !INSERT INTO login nom_utilisateur, prenom, nom, email, mdp, date_enreg)VALUES ('test', 'test', 'test', 'mailatmail.bom', PASSWORD('1234'), NOW())
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' prenom, nom, email, mdp, date_enreg)VALUES ('test', 'test', 'test', 'mail' at line 1

merci encore pour vos reponses et aide

Hors ligne

#13 08-06-2009 13:33:45

mcAllan
Mowdérateur
Lieu : Châteaurenard en Provence
Inscription : 08-05-2009
Messages : 269

Re : [Résolu] supplied argument is not a valid MySQL result

Salut,

Et une petite parenthèse devant nom_utilisateur, ça serait trop de luxe ??  smile


Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop

Hors ligne

#14 08-06-2009 13:39:57

hichoum
Membre
Inscription : 04-06-2009
Messages : 29

Re : [Résolu] supplied argument is not a valid MySQL result

MEEEERRRCIIII  BEAUCOUP c est super j'enregistre dnas la bdd
Bon le dernier post c'etait juster pour tester votre presence car je le savais roll

Encore merci

Hors ligne

#15 08-06-2009 13:54:20

mcAllan
Mowdérateur
Lieu : Châteaurenard en Provence
Inscription : 08-05-2009
Messages : 269

Re : [Résolu] supplied argument is not a valid MySQL result

hichoum a écrit :

Bon le dernier post c'était juster pour tester votre présence car je le savais

Oui, nous avions compris... tongue

Par contre, tu utilise la fonction password de mysql et celle-ci n'est pas trop recommandée.
voir : http://dev.mysql.com/doc/refman/5.0/fr/ … tions.html

Utilise plutôt MD5 ou SHA1.

A+


Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop

Hors ligne

Pied de page des forums