IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Un erreur avec mysql de conversion en string


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Gobelins
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Décembre 2007
    Messages : 171
    Par défaut Un erreur avec mysql de conversion en string
    Bosnoir,

    Dans la catégorie saisie, quand je renseigne les différents champs de la rubrique saisie, et puis lorsque je clique sur le bouton valider, IE m'affiche une erreur :

    Catchable fatal error: Object of class ADORecordSet_mysql could not be converted to string
    L'erreur se produit dans un fichier ajoute.inc sur la ligne 2:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $sql =  "INSERT INTO appel ( date_appel, expedition_email, commentaire, tele, id_ville, id_client, id_resultat, id_destinataire, id_genre, id_user, id_contact_client ) ".
              "VALUES ( " . $conn->DBTimeStamp($date_time) . " , '$infor', " . $conn->qstr($commentaire) . ", '$telephone', '$ville_id', '$client', '$resultat', '$destinataire', '$genre', ".$_SESSION["id_user"].", $contact_client_id )" ;
      $resultat = $conn->Execute($sql);
     
      if (!$resultat)
      {
        print "Error 5: " . $conn->ErrorMsg();
        die;
      }
    Si quelqu'un pourrait m'aider, je serais très reconnaissant

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Sur quelle ligne se produit l'erreur ?
    Une de tes methodes de classe ne renvoit pas une chaine, donc soit $conn->DBTimeStamp($date_time) soit $conn->qstr($commentaire) soit $conn->ErrorMsg()
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé Avatar de Gobelins
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Décembre 2007
    Messages : 171
    Par défaut
    J'ai bien écris dans la 2 ligne du code que l'erreur se produit où il y a "VALUE.

    Je vais mettre le code de la fonction qui est long:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    function ajoute($date, $heure, $client, $ville, $contact_client, $genre, $destinataire, $resultat, $infor, $telephone, $commentaire)
    {
      global $conn ;
      global $message_email ;
     
      // gestion des dates au format de la base
      $date_split = explode('/',$date) ;
      $time_split = explode(':',$heure) ;
      $date_time = @mktime ($time_split[0], $time_split[1], $time_split[2], $date_split[1], $date_split[0], $date_split[2]);
     
     
      //=====================================================================
      // TABLE VILLE
      //=====================================================================
     
      $ville_id = null;
     
      $sql = "SELECT id FROM ville WHERE nom LIKE ". $conn->qstr($ville) ;
      $resultat = $conn->Execute($sql) ;
     
      // gère les erreurs
      if (!$resultat)
      {
        print "Error 1: " . $conn->ErrorMsg() ;
        die;
      }
     
      while (!$resultat->EOF)
      {
        $ville_id = $resultat->fields[0] ;
        $resultat->MoveNext() ;
      }
     
      // on n'insère un nouveau lieu dans la base que s'il n'existe pas
      if (!isset($ville_id))
      {
        $sql = " INSERT INTO ville ( nom ) VALUES ( " . $conn->qstr($ville) . " ) " ;
        $resultat = $conn->Execute($sql) ;
     
    	if (!$resultat)
        {
          print "Error 2: " . $conn->ErrorMsg() ;
          die;
        }
        $ville_id = $conn->Insert_ID() ;
      }
     
     
      //=====================================================================
      // TABLE CONTACT_CLIENT
      //=====================================================================
     
      $contact_client_id = null;
     
      $sql = "SELECT id FROM contact_client WHERE nom LIKE " . $conn->qstr($contact_client) ;
      $resultat = $conn->Execute($sql) ;
     
      // gère les erreurs
      if (!$resultat)
      {
        print "Error 3: " . $conn->ErrorMsg() ;
        die;
      }
     
      while (!$resultat->EOF)
      {
        $contact_client_id = $resultat->fields[0] ;
        $resultat->MoveNext() ;
      }
     
      // on n'insère une nouvelle personne dans la base que si elle n'existe pas
      if (!isset($contact_client_id))
      {
        $sql = "INSERT INTO contact_client ( nom ) VALUES ( " . $conn->qstr($contact_client)." )" ;
        $resultat = $conn->Execute($sql);
     
        if (!$resultat)
        {
          print "Error 4: " . $conn->ErrorMsg() ;
          die;
        }
        $contact_client_id = $conn->Insert_ID() ;
      }
     
     
      //=====================================================================
      // TABLE APPEL
      //=====================================================================
     
      $sql =  "INSERT INTO appel ( date_appel, expedition_email, commentaire, tele, id_ville, id_client, id_resultat, id_destinataire, id_genre, id_user, id_contact_client ) ".
              "VALUES ( " . $conn->DBTimeStamp($date_time) . " , '$infor', " . $conn->qstr($commentaire) . ", '$telephone', '$ville_id', '$client', '$resultat', '$destinataire', '$genre', ".$_SESSION["id_user"].", $contact_client_id )" ;
      $resultat = $conn->Execute($sql);
     
      if (!$resultat)
      {
        print "Error 5: " . $conn->ErrorMsg();
        die;
      }

  4. #4
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Sur quelle ligne se produit l'erreur ?
    Une de tes methodes de classe ne renvoit pas une chaine, donc soit $conn->DBTimeStamp($date_time) soit $conn->qstr($commentaire) soit $conn->ErrorMsg()
    Tu peux faire un var_dump de tes variables,
    pour connaitre le type de chacune et voir précisément laquelle pose problème.

  5. #5
    Membre confirmé Avatar de Gobelins
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Décembre 2007
    Messages : 171
    Par défaut
    Comment il faut faire var_dump de mes variables. J'a besoin de quelqu'un qui peut trouver mon erreur. Depuis quelques heures je n'avance pas.

  6. #6
    Membre confirmé Avatar de Gobelins
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Décembre 2007
    Messages : 171
    Par défaut
    J'ai cherché comment faire un var_dump(). J'ai ajouté 5 lignes de code avant ces deux lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     $sql =  "INSERT INTO appel ( date_appel, expedition_email, commentaire, tele, id_ville, id_client, id_resultat, id_destinataire, id_genre, id_user, id_contact_client ) ".
              "VALUES ( " . $conn->DBTimeStamp($date_time) . " , '$infor', " . $conn->qstr($commentaire) . ", '$telephone', '$ville_id', '$client', '$resultat', '$destinataire', '$genre', ".$_SESSION["id_user"].", $contact_client_id )" ;
    Donc voici les 5 lignes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     echo "<pre>";
      var_dump($conn->DBTimeStamp($date_time));
      var_dump($conn->qstr($commentaire));
      var_dump($conn->ErrorMsg());
      echo "</pre>";
    Voici ce qu'elles m'affichent, mais j'ai rien compris le type de problème et comment corriger cela.

    string '&apos;2011-04-11 18:00:00&apos;' (length=21)
    string '&apos;&apos;' (length=2)
    string '' (length=0)
    Si une personne pourrait trouver mon erreur!!

  7. #7
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    Dans ce cas la, tu peux faire un var_dump des autres variables. Car les deux semblent correctes.

Discussions similaires

  1. gestion des erreurs avec mysql
    Par kate59 dans le forum Langage
    Réponses: 2
    Dernier message: 09/09/2010, 09h22
  2. [MySQL] Erreur avec MySQL
    Par mikael2235 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 23/08/2010, 19h26
  3. erreur avec MySQL (Lost connection to MySQL server)
    Par mikael2235 dans le forum Requêtes
    Réponses: 1
    Dernier message: 15/01/2010, 15h26
  4. Erreur avec MySQL sous FreeBSD
    Par Neuromancien2 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 01/01/2008, 22h17
  5. message d'erreur avec mysql
    Par ulysse031 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 07/02/2007, 19h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo