Erreur dans function fetch() on a non-objec

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Erreur dans function fetch() on a non-objec

Re: Erreur dans function fetch() on a non-objec

par devlop78 » 18 avr. 2010, 19:05

Oui cela dit c'est souvent comme ça et c'est marqué ;)

Le vrai piège c'est qu'il ne modifie que ce qui est différent.

Re: Erreur dans function fetch() on a non-objec

par diabless6 » 18 avr. 2010, 19:00

Réponse dans mon dernier post.
ça marche. Ail! ail! C'est tordu là quand même, avec les === j'ai pas l'habitude.

Ils font rien pour faciliter les choses #-o

Merci encore =D>

Re: Erreur dans function fetch() on a non-objec

par devlop78 » 18 avr. 2010, 18:51

Réponse dans mon dernier post.

Re: Erreur dans function fetch() on a non-objec

par diabless6 » 18 avr. 2010, 18:50

Ben oui mais mon else ne marche pas en tout cas:
 if($result!=1)
    {
        echo'<br/>Une erreur '.$id_con->errorCode().' '.$id_con->errorInfo().' ';echo var_dump($id_con->errorInfo());
    }
    else
    {
        echo'<br/><br/>modifications enregistrées !';
        
        echo "<script type=\"text/javascript\">setTimeout(\"window.location='"."affichage.php'\",3000)</script>";
        
    }
Bon ben c'est vrai qu'il y a pas de modification, mais alors comment je fait là avec ma redirection en javascript !

Re: Erreur dans function fetch() on a non-objec

par devlop78 » 18 avr. 2010, 18:49

Code : Tout sélectionner

If no rows were affected, PDO::exec() returns 0. Warning This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE, such as 0 or "". Please read the section on Booleans for more information. Use the === operator for testing the return value of this function.
Tout est dit dans ce texte. En gros tu ne dois pas faire

if($result!=1)
{
echo'<br/>Une erreur '.$id_con->errorCode().' '.$id_con->errorInfo();
}


Mais

if($result===false)
{
echo'<br/>Une erreur '.$id_con->errorCode().' '.$id_con->errorInfo();
}

Re: Erreur dans function fetch() on a non-objec

par devlop78 » 18 avr. 2010, 18:48

D'ailleurs la chose bizarre est surement dûe au fait que tu affiches ton formulaire AVANT de faire les modifications. Donc je te conseille de modifier avant d'afficher.

Re: Erreur dans function fetch() on a non-objec

par devlop78 » 18 avr. 2010, 18:46

PDO::exec() executes an SQL statement in a single function call, returning the number of rows affected by the statement.
Décidemment, PDO ne m'aime pas ;)

Alors il se peut que comme tu ne modifies pas tes données, il ne modifie rien, donc te retourne 0. Toi tu crois que c'est un message d'erreur, mais le message d'erreur 000000 n'en est peut-être pas un.

Re: Erreur dans function fetch() on a non-objec

par diabless6 » 18 avr. 2010, 18:45

Peux-tu écrire var_dump($id_con->errorInfo()); stp ?
Je l'ai rajouté ici :

if($result!=1)
{
echo'<br/>Une erreur '.$id_con->errorCode().' '.$id_con->errorInfo().' '.var_dump($id_con->errorInfo());

Ce qui donne :
array(3) { [0]=> string(5) "00000" [1]=> NULL [2]=> NULL }

un tableau vide je pense.

Re: Erreur dans function fetch() on a non-objec

par devlop78 » 18 avr. 2010, 18:42

Peux-tu écrire var_dump($id_con->errorInfo()); stp ?

Re: Erreur dans function fetch() on a non-objec

par devlop78 » 18 avr. 2010, 18:41

C'est pire que ça ... si tu modifies, que tu cliques sur Modifier, et que tu recliques 50 fois sur modifier, il te remet un coup l'ancienne version, un coup la nouvelle ^^

Re: Erreur dans function fetch() on a non-objec

par diabless6 » 18 avr. 2010, 18:36

Faut entrer un ID puis Modifier.
Puis on arrive à Modification de l'id: XX
Et sans modifier, mais en appuyant sur modifier j'ai l'erreur.

Re: Erreur dans function fetch() on a non-objec

par diabless6 » 18 avr. 2010, 18:27

Je comprends pas trop la question ... et quelle est exactément l'erreur ?
Erreur c'est ça : Une erreur 00000 Array

dès que j'appuie sur le bouton modifier et si seulement je ne modifie rien. Par contre, si je modifie les données du formulaire ça va.

Re: Erreur dans function fetch() on a non-objec

par devlop78 » 18 avr. 2010, 18:10

Je comprends pas trop la question ... et quelle est exactément l'erreur ?

Re: Erreur dans function fetch() on a non-objec

par diabless6 » 18 avr. 2010, 18:06

Par contre j'ai un autre soucis dans la suite de mon script :roll:

//enregistrement
if(isset($_POST["nom"]) && isset($_POST["prenom"]) && isset($_POST["mail"]))
{
    $id_con=connPDO();
     //requete
    $id=$id_con->quote($_POST["id"]);
    $nom=$id_con->quote($_POST["nom"]);
    $prenom=$id_con->quote($_POST["prenom"]);
    $mail=$id_con->quote($_POST["mail"]);
    $requete="UPDATE personne SET nom=$nom,prenom=$prenom,mail=$mail WHERE id=$id";
    echo $requete;
    $result=$id_con->exec($requete);
   
    if($result!=1)
    {
        echo'<br/>Une erreur '.$id_con->errorCode().' '.$id_con->errorInfo();
    }
    else
    {
        echo'<br/><br/>modifications enregistrées !';
        
        echo "<script type=\"text/javascript\">setTimeout(\"window.location='"."affichage.php'\",3000)</script>";
        
    }
$id_con=NULL;    
}
else
{
    echo "<br/>Merci de compléter !";
}
?>
 
</body>
</html>
Mon dernier Else ne marche pas, même si rien n'a été modifier en cliquant sur le bouton Modifier : j'ai cette erreur : Une erreur 00000 Array

Comment je pourrais faire pour valider le formulaire même sans changement ? #-o

Merci

Re: Erreur dans function fetch() on a non-objec

par devlop78 » 18 avr. 2010, 17:23

Perso je n'aime pas mais chacun son truc ;) Mais du coup (mais tant mieux si tu l'as mis), il est moins utile de vérifier que c'est un integer car si il entre 'je veux hacker l'système', avec quote() ça va échapper le ' et pas de pb. Mais deux mesures valent mieux qu'une ;)