Message d'erreur PDO

Eléphant du PHP | 250 Messages

12 avr. 2010, 19:49

Bonsoir,

Ca yier je me met à PDO. Donc je convertie mes petits scripts tant bien que mal :mrgreen: Mais je garde le sourire :^o

<?php
include("mysqlconnex.inc.php");
if(!empty($_POST["nom"]) && !empty($_POST["prenom"]) )
{
$id="\N";
$nom=$_POST["nom"];
$prenom=$_POST["prenom"];
$mail=$_POST["mail"];

//requêtes
if(!empty($mail))
{$mail="'".$mail."'";}
else{$mail="DEFAULT";}
$id_con=connPDO();
$requete="INSERT INTO personne VALUES('$id','$nom','$prenom',$mail)";
$result=$id_con->exec($requete);
if(!$result)
     {
        $erreur=$id_con->errorInfo();
        echo'Erreur d\'insersion code: '.$id_con->errorCode().' : '.$erreur[2];
     }
else
    {   $id=PDO::lastInsertId(); X
        echo'Enregistrement reussie ! votre Id:'.$id.'<br/>';
        echo "<script type=\"text/javascript\">setTimeout(\"window.location='".$url."affichage.php'\",3000)</script>";
        //echo'<meta http-equiv="refresh" content="3; URL=http://'.$host.$url.'affichage.php"/>';
    }
    
$id_con=null;
}
elseif(empty($result)) {echo'<h1>Merci de remplir</h1>';}

?>
J'ai un petit soucis sur le X . J'ai remplacé mysql_insert_id() par PDO::lastInsertId(); mais j'ai ce message d'erreur :

Fatal error: Non-static method PDO::lastInsertId() cannot be called statically in C:\wamp\www\Php\2Jean Engels\mysql_pdo\index2.php on line 53

ça change tellement de l'ordinaire que je ne vois pas trop 8-|

Merci
J'ai un petit éléphant rose chez moi avec dessus PHP woman :p
Pour une Europe sans hypocrisie, n'y barratins.
L'euro caca j'en veux plus. Les conneries c'est fini.

ViPHP
ViPHP | 5462 Messages

12 avr. 2010, 20:16

c'est
$id_con->lastInsertId()
:wink:

EDIT : c'est vrai qu'avec la doc ca peu porter a confusion

Eléphant du PHP | 250 Messages

12 avr. 2010, 21:31

Merci Stealth35, que ferais-je si t'étais pas là :love5:
La PDO c'est pas si dur que ça après tout !

:wink:
J'ai un petit éléphant rose chez moi avec dessus PHP woman :p
Pour une Europe sans hypocrisie, n'y barratins.
L'euro caca j'en veux plus. Les conneries c'est fini.

ViPHP
ViPHP | 5462 Messages

12 avr. 2010, 22:22

Merci Stealth35, que ferais-je si t'étais pas là :love5:
La PDO c'est pas si dur que ça après tout !

:wink:
non y'a pas grand chose changer, de toutes façons les requetes SQL reste les memes, prochaine étape les requetes préparer et surtout le fetchAll (finis les while, vive les foreach)

Eléphant du PHP | 428 Messages

13 avr. 2010, 18:44

Merci Stealth35, que ferais-je si t'étais pas là :love5:
La PDO c'est pas si dur que ça après tout !

:wink:
non y'a pas grand chose changer, de toutes façons les requetes SQL reste les memes, prochaine étape les requetes préparer et surtout le fetchAll (finis les while, vive les foreach)

Salut Stealth35.
- Requêtes préparées = PDO non ? si c'est ça j'ai compris
- Par contre fecthAll pourquoi ?
- Pourquoi ne plus utiliser de while ?

Peux tu m'en dire plus ?

Merci ;)
raph

ViPHP
ViPHP | 5462 Messages

13 avr. 2010, 19:09

Requêtes préparées = PDO non ? si c'est ça j'ai compris

non, mais PDO comme (mysqli) peuvent utilisé les requêtes préparées, les requêtes préparées c'est un peu comme un template dans lequelle tu mets des données


Par contre fecthAll pourquoi ?

parce que tu peu retravailler plus facilement les valeurs, tout arrive d'un seul coup dans un array avec les fonction qui vont avec, ca reviendrait a faire
$data = array();

while($row = mysql_fetch_assoc)
{
    $data[] = $row;
}

//print_r($data);
Pourquoi ne plus utiliser de while ?

pour la raison en haut, avec while t'es obligé de traiter 1 a 1 tes resultats.

après ca dépends bien sur de ton design pattern, mais le while est plus difficile a comprendre que le foreach, on parcours pas une liste on va chercher une a une une ressource

EDIT : je vais de te faire des petits exemples concrets :wink:

Eléphant du PHP | 428 Messages

13 avr. 2010, 19:33

J'attends tes exemples avec impatience.
Faudrait peut être créer un topic ou tuto spécialement dédié ? non ? Car ce topic n'est pas de moi.
Mais vu que cela peut concerner beaucoup de monde, ce serait vraiment intéressant de faire un topic dédié avec documentation, exemples etc ... ??
Biensur c'est une suggestion :)

Merci !! ;)

Eléphant du PHP | 250 Messages

13 avr. 2010, 21:21

bah ça peut être intéressant ... des exemples, oui oui on aime ça , mais pas trop compliqué hein :mrgreen:
J'ai un petit éléphant rose chez moi avec dessus PHP woman :p
Pour une Europe sans hypocrisie, n'y barratins.
L'euro caca j'en veux plus. Les conneries c'est fini.