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

PHP & Base de données Discussion :

MySQL/PHP et PDO modification d'une table [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué Avatar de MelkInarian
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 144
    Points
    144
    Par défaut MySQL/PHP et PDO modification d'une table
    Bonsoir à toutes et à tous,
    Je suis un néophyte complet pour MySql, j'ai lu sur les tutoriels qu'il valait mieux utiliser pdo et les requêtes préparées. Mais c'est bien au delà de mes capacités.
    J'ai glané de-ci de-là de quoi écrire ma requête ci-dessous mais c'est visiblement insuffisant. J'ai collé en dessous les messages d'erreur que je reçois lorsque je tente le $_post.

    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
     //dans le <head></head>
    <?php
    function SauveCompet($Nom___PJ, $PrenomPJ, $PtCmpOcT, $PtCmpOcD, $Cpt_Conn, $Cpt_SvFr, $Cpt_Sens, $Cpt_Infl, $Cpt_Actn, $DateMmaJ)
    {
    	$serveur = "127.0.0.1";	// Le serveur
    	$nom_base = "adc";		// La Base de donn&eacute;es
    	$login = "MonLog";		// le login ""
    	$pwd = "MonPsWrd";		// Le mot de passe ""
    	$charset = "utf8";		// Le charset "utf8"
     
    	//--------------------------------------------------------------------------------------------------------------------------------------------------------------------
    	//             MA sauvegarde dans la base 'adc' table 'pj_pnj' champs compétences :  `PtCmpOcT`, `PtCmpOcD`, `Cpt_Conn`, `Cpt_SvFr`, `Cpt_Sens`, `Cpt_Infl`, `Cpt_Actn`, `DateMmaJ`
    	//--------------------------------------------------------------------------------------------------------------------------------------------------------------------
     
    	// connexion &agrave; MySQL en utilisant PDO
    	try //  PHP essaie d'exécuter les instructions à l'intérieur du bloc try. S'il y a une erreur, il rentre dans le bloc catch et fait ce qu'on lui demande (ici, on arrête l'exécution de la page en affichant un message décrivant l'erreur).
    	{
    		$bdd = new PDO('mysql:host='.$serveur.';dbname='.$nom_base.';charset='.$charset, $login, $pwd);
    	}
    	catch (Exception $e) // S'il y a une erreur, il rentre dans le bloc catch et fait ce qu'on lui demande (ici, on arrête l'exécution de la page en affichant un message décrivant l'erreur).
    	{
    		die('Erreur : ' . $e->getMessage());    // En cas d'erreur, on affiche un message et on arrête tout
    	}
    	// Si tout va bien, on peut continuer
     
    	// On modifie une entrée dans la table pj_pnj
    	// Utilisation d'une requète préparée
     
    	$req = $bdd->prepare('UPDATE pj_pnj SET PtCmpOcT = :PtCmpOcT, PtCmpOcD = :PtCmpOcD, Cpt_Conn = :Cpt_Conn, Cpt_SvFr = :Cpt_SvFr, Cpt_Sens = :Cpt_Sens, Cpt_Infl = :Cpt_Infl, Cpt_Actn = :Cpt_Actn, DateMmaJ = :DateMmaJ WHERE Nom___PJ = :Nom___PJ AND PrenomPJ = :PrenomPJ');
     
    	$req->execute(Array(
    		':PtCmpOcT' => $PtCmpOcT,
    		':PtCmpOcD' => $PtCmpOcD,
    		':Cpt_Conn' => $Cpt_Conn,
    		':Cpt_SvFr' => $Cpt_SvFr,
    		':Cpt_Sens' => $Cpt_Sens,
    		':Cpt_Infl' => $Cpt_Infl,
    		':Cpt_Actn' => $Cpt_Actn,
    		':DateMmaJ' => $DateMmaJ
    		));
    }
    ?>
    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
     //dans le <body></body>
    <?php
    $Nom___PJ = $_POST['NomDuPj'];
    $PrenomPJ = $_POST['PrenomDuPj'];
    $DateMmaJ = $_POST['DateDeMaJ'];
    $PtCmpOcT = $_POST['PtCptOcT'];
    $PtCmpOcD = $_POST['PtCpOcDp'];
     
    $Cpt_Conn = str_replace("\n", "|", $_POST['CCnnChx']);
    $Cpt_SvFr = str_replace("\n", "|", $_POST['CSvFChx']);
    $Cpt_Sens = str_replace("\n", "|", $_POST['CSnsChx']);
    $Cpt_Infl = str_replace("\n", "|", $_POST['CInfChx']);
    $Cpt_Actn = str_replace("\n", "|", $_POST['CActChx']);
     
    SauveCompet($Nom___PJ, $PrenomPJ, $PtCmpOcT, $PtCmpOcD, $Cpt_Conn, $Cpt_SvFr, $Cpt_Sens, $Cpt_Infl, $Cpt_Actn, $DateMmaJ);
    ?>
    Les messages d'erreur
    Notice: Undefined index: NomDuPj in D:\wamp\www\Cthulhu\_MIcptPJtt.php on line 92
    Call Stack
    # Time Memory Function Location
    1 0.0004 160304 {main}( ) ..\_MIcptPJtt.php:0
    ( ! ) Notice: Undefined index: PrenomDuPj in D:\wamp\www\Cthulhu\_MIcptPJtt.php on line 93
    Call Stack
    # Time Memory Function Location
    1 0.0004 160304 {main}( ) ..\_MIcptPJtt.php:0
    ( ! ) Notice: Undefined index: DateDeMaJ in D:\wamp\www\Cthulhu\_MIcptPJtt.php on line 94
    Call Stack
    # Time Memory Function Location
    1 0.0004 160304 {main}( ) ..\_MIcptPJtt.php:0
    ( ! ) Notice: Undefined index: PtCptOcT in D:\wamp\www\Cthulhu\_MIcptPJtt.php on line 95
    Call Stack
    # Time Memory Function Location
    1 0.0004 160304 {main}( ) ..\_MIcptPJtt.php:0
    ( ! ) Notice: Undefined index: PtCpOcDp in D:\wamp\www\Cthulhu\_MIcptPJtt.php on line 96
    Call Stack
    # Time Memory Function Location
    1 0.0004 160304 {main}( ) ..\_MIcptPJtt.php:0
    ( ! ) Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in D:\wamp\www\Cthulhu\_MIcptPJtt.php on line 53
    Call Stack
    # Time Memory Function Location
    1 0.0004 160304 {main}( ) ..\_MIcptPJtt.php:0
    2 0.0667 162000 SauveCompet( ) ..\_MIcptPJtt.php:102
    3 0.0674 170296 execute ( ) ..\_MIcptPJtt.php:53
    Je ne maitrise pas bien la langue de "j'expire"!
    Mais je crois que çà dit que le nombre de paramètres ne correspond pas avec ...
    des index indéfinis...
    Voici la copie des champs de la table, je ne crois pas m'être trompé dans mes 'copier/coller' pour écrire la requête.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    --
    -- Contenu de la table `pj_pnj`
    --
    INSERT INTO `pj_pnj` (`id_PjPnj`, `Nom___PJ`, `PrenomPJ`, `DatNaiss`, `SEXE_M_F`, `Nationlt`, `APParenc`, `CONstit_`, `DEXterit`, `FORce___`, `TAIlle__`, `EDUcatio`, `INTellig`, `POUvoir_`, `Prestanc`, `Enduranc`, `Agilite_`, `Puissanc`, `Corpulen`, `Connaiss`, `Intuitio`, `Volonte_`, `PtCmpOcT`, `PtCmpOcD`, `PtCmpPtT`, `PtCmpPtD`, `Aplomb__`, `SANteMen`, `PointVie`, `Blessure`, `PointMag`, `Impact__`, `Occupat1`, `Occupat2`, `Professn`, `Personna`, `NiveauVi`, `Cpt_Conn`, `Cpt_SvFr`, `Cpt_Sens`, `Cpt_Infl`, `Cpt_Actn`, `DateMmaJ`) VALUES
    Merci d'avance à celles/ceux qui voudront bien éclairer ma lanterne.

  2. #2
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut MelkInarian.

    Citation Envoyé par MelkInarian
    j'ai lu sur les tutoriels qu'il valait mieux utiliser pdo et les requêtes préparées.
    Vous êtes français alors exprimez-vous correctement. On dit didacticiel et non tutoriel qui est un franglais.
    Le mot anglais tutorial, dont « tutoriel » est issu, déconseillé par les organismes de néologie français et québécois, est cependant également utilisé par certains francophones.
    Pour répondre à votre question, oui, il est conseillé d'utiliser le PDO à la place de mysqli.

    Ensuite, vous vous êtes trompé de forum qui est consacré exclusivement à MySql et non à MySql/php.
    Je vais quand même répondre à votre question.

    Voici la ligne pour vous connecter à votre base de données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $bdd = new PDO('mysql:host='.$serveur.';dbname='.$nom_base.';charset='.$charset, $login, $pwd);
    Le problème que je constate est que vous mettez le charset au mauvais endroit dans votre ligne ci-dessus.
    Normalement, cela se met à la fin, dans la partie "option", donc après le mot de passe.

    Voici un exemple qui fonctionne, pour se connecter à une base de données en php/pdo :
    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
    <?php
    /*-----------------------------------------------------*/
    /* Informations pour la connexion à la base de données */
    /*-----------------------------------------------------*/
     
    $nom_du_serveur  = "mysql:host=localhost;dbname=test";
    $nom_utilisateur = "test";
    $mot_de_passe    = "test";
     
    $options         = array(
    	PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES latin1",
    	PDO::ATTR_CASE               => PDO::CASE_LOWER,
    	PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
    	PDO::ATTR_PERSISTENT         => false
    );
     
    /*----------------------*/
    /* Connexion au Serveur */
    /*----------------------*/
     
    try {
    	$link = new PDO($nom_du_serveur, $nom_utilisateur, $mot_de_passe, $options);
    }
    catch (Exception $e)
    {
    	echo "Connection à MySql impossible : ", $e->getMessage();
    	die();
    }
    ?>
    J'utilise dans ma base de données, le charset "latin1", c'est-à-dire "iso-8859-1".

    Pour la ligne update, je n'aime pas trop cette forme d'écriture, en ce qui concerne les requêtes préparées. Je préfère l'écriture suivante :
    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
    try {
    	$ins = $link->prepare("INSERT INTO `tab_clients` (`nom`, `prenom`, `naissance`, `ville`, `datenreg`) VALUES (:param1, :param2, :param3, :param4, :param5)");
     
    	$ins->bindParam('param1', $nom);
    	$ins->bindParam('param2', $prenom);
    	$ins->bindParam('param3', $naissance);
    	$ins->bindParam('param4', $ville);
    	$ins->bindParam('param5', $datenreg);
     
    	$ins->execute();
    }
    catch ( Exception $e )
    {
    	$link->rollback();
    	echo "Une erreur est survenue dans la requète insert : ", $e->getMessage();
    	die();
    }
    C'est un peu plus bavard, mais au moins, cela à le mérite de ne pas être positionnel, comme dans l'usage du "array" que vous faites.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  3. #3
    Membre habitué Avatar de MelkInarian
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 144
    Points
    144
    Par défaut
    Cela fait des heures que j'essaye de modifier la reqête de Artemus24 pour l'adapter à un update mais je n'y arrive pas.
    J'ai toujour le message d'erreur suivant. (la ligne 75 correspond à la ligne 52 ci dessous.)
    ( ! ) Fatal error: Uncaught exception 'PDOException' with message 'There is no active transaction' in D:\wamp\www\Cthulhu\_MIcptPJtt.php on line 75
    ( ! ) PDOException: There is no active transaction in D:\wamp\www\Cthulhu\_MIcptPJtt.php on line 75
    Call Stack
    # Time Memory Function Location
    1 0.0004 170728 {main}( ) ..\_MIcptPJtt.php:0
    2 0.0005 174048 SauveCompet( ) ..\_MIcptPJtt.php:235
    3 0.0019 190104 rollBack ( ) ..\_MIcptPJtt.php:75
    voici mon code après modification pour tenir compte des suggestions de Artemus24.
    C'est peut-être au niveau du WHERE bien que le message d'erreur dise qu'il n'y a pas de transaction active.
    La connexion à la base se fait je crois. le "echo "Connection à MySql réussie : ";", que j'ai mis après coup pour vérifier, s'affiche.
    D'autre part, j'ai l'ensemble en UTF-8 (pages, tables) j'espère que le Latin1 ne me mettra pas le bazar, mais on verra çà plus tard.
    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
    <?php
    function SauveCompet($Nom___PJ, $PrenomPJ, $PtCmpOcT, $PtCmpOcD, $Cpt_Conn, $Cpt_SvFr, $Cpt_Sens, $Cpt_Infl, $Cpt_Actn, $DateMmaJ)
    {
    /*-----------------------------------------------------*/
    /* Informations pour la connexion à la base de données */
    /*-----------------------------------------------------*/
     
    	$nom_du_serveur  = "mysql:host=localhost;dbname=adc";
    	$nom_utilisateur = "MonNom";
    	$mot_de_passe    = "MonPsswrd";
     
    	$options         = array(
    		PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES latin1",
    		PDO::ATTR_CASE               => PDO::CASE_LOWER,
    		PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
    		PDO::ATTR_PERSISTENT         => false
    	);
     
    	/*---------------------------------------*/
    	/* Connexion au Serveur en utilisant PDO */
    	/*---------------------------------------*/
     
    	try 
    	{
    		$link = new PDO($nom_du_serveur, $nom_utilisateur, $mot_de_passe, $options);
    		echo "Connection à MySql réussie : ";
    	}
    	catch (Exception $e)
    	{
    		echo "Connection à MySql impossible : ", $e->getMessage();
    		die();
    	}
     
    	try {
    		$upd  = $link->prepare("UPDATE pj_pnj SET  (`PtCmpOcT`, `PtCmpOcD`, `Cpt_Conn`, `Cpt_SvFr`, `Cpt_Sens`, `Cpt_Infl`, `Cpt_Actn`, `DateMmaJ`)
    								VALUES (:PtCmpOcT, :PtCmpOcD, :Cpt_Conn, :Cpt_SvFr, :Cpt_Sens, :Cpt_Infl, :Cpt_Actn, :DateMmaJ)
    								WHERE Nom___PJ = :Nom___PJ AND PrenomPJ = :PrenomPJ");
     
    		$upd ->bindParam('PtCmpOcT', $PtCmpOcT);
    		$upd ->bindParam('PtCmpOcD', $PtCmpOcD);
    		$upd ->bindParam('Cpt_Conn', $Cpt_Conn);
    		$upd ->bindParam('Cpt_SvFr', $Cpt_SvFr);
    		$upd ->bindParam('Cpt_Sens', $Cpt_Sens);
    		$upd ->bindParam('Cpt_Infl', $Cpt_Infl);
    		$upd ->bindParam('Cpt_Actn', $Cpt_Actn);
    		$upd ->bindParam('DateMmaJ', $DateMmaJ);
     
    		$upd ->execute();
    	}
    	catch ( Exception $e )
    	{
    		$link->rollback();
    		echo "Une erreur est survenue dans la requète update : ", $e->getMessage();
    		die();
    	}				
     
    }
    ?>

  4. #4
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut MelkInarian.

    En lisant votre message d'erreur, je constate que le mode transaction n'est pas activé.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    There is no active transaction' in D:\wamp\www\Cthulhu\_MIcptPJtt.php on line 75
    Essayez de mettre ceci (ce qui est en rouge) à l'ouverture de votre connexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $options = array(
    	PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES latin1",
    	PDO::ATTR_CASE               => PDO::CASE_LOWER,
    	PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
    	PDO::ATTR_AUTOCOMMIT         => false
    );
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  5. #5
    Membre habitué Avatar de MelkInarian
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 144
    Points
    144
    Par défaut
    Bonjour Artemus24,
    C'est malheureusement pareil.
    Fatal error: Uncaught exception 'PDOException' with message 'There is no active transaction' in D:\wamp\www\Cthulhu\_MIcptPJtt.php on line 76
    ( ! ) PDOException: There is no active transaction in D:\wamp\www\Cthulhu\_MIcptPJtt.php on line 76
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $options   = array(
    	PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES latin1",
    	PDO::ATTR_CASE               => PDO::CASE_LOWER,
    	PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
    	//PDO::ATTR_PERSISTENT         => false
    	PDO::ATTR_AUTOCOMMIT         => false
    );

  6. #6
    Membre habitué Avatar de MelkInarian
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 144
    Points
    144
    Par défaut J'ai essayé de simplifier au maximum
    Bonjour à toutes et à tous,
    J'ai simplifié au maximum mon code
    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
    <?php
        function SauveCompet($id_PjPnj, $Nom___PJ, $PrenomPJ, $PtCmpOcT, $PtCmpOcD, $Cpt_Conn, $Cpt_SvFr, $Cpt_Sens, $Cpt_Infl, $Cpt_Actn, $DateMmaJ)
        {
        /*-----------------------------------------------------*/
        /* Informations pour la connexion à la base de données */
        /*-----------------------------------------------------*/
            $nom_du_serveur  = "mysql:host=localhost;dbname=adc";
            $nom_utilisateur = "MonUtil";
            $mot_de_passe    = "MonMotDePasse";
     
            $options         = array(
                PDO::MYSQL_ATTR_INIT_COMMAND => "set names utf8",
                PDO::ATTR_CASE               => PDO::CASE_LOWER,
            );
            /*---------------------------------------*/
            /* Connexion au Serveur en utilisant PDO */
            /*---------------------------------------*/
     
            try //  PHP essaie d'exécuter les instructions à l'intérieur du bloc try. S'il y a une erreur, il rentre dans le bloc catch et fait ce qu'on lui demande (ici, on arrête l'exécution de la page en affichant un message décrivant l'erreur).
            {
                $link = new PDO($nom_du_serveur, $nom_utilisateur, $mot_de_passe, $options); // Instanciation de l'objet PDO (notre connexion)
                echo "Connection à MySql réussie ! " . '<br />';
            }
            catch (Exception $e) // S'il y a une erreur, il rentre dans le bloc catch et fait ce qu'on lui demande (ici, on arrête l'exécution de la page en affichant un message décrivant l'erreur).
            {
                echo "Connection à MySql impossible : ", $e->getMessage();
                die();    // En cas d'erreur, on affiche un message et on arrête tout
            }
            // Si tout va bien, on peut continuer
     
            try {
                $update  = $link->prepare("UPDATE pj_pnj SET DateMmaJ=:DateMmaJ WHERE id_PjPnj=:id_PjPnj");
     
                $update->bindParam('DateMmaJ', $DateMmaJ);
     
                $update ->execute();
            }
            catch ( Exception $e )
            {
                $link->rollback();
                echo "Une erreur est survenue dans la requète update : ", $e->getMessage();
                die();
            }                
            $update->closeCursor();
            $link = null;    // et maintenant, je ferme la connexion PDO (http://php.net/manual/fr/pdo.connections.php)
        }
    ?>
    et j'ai toujours cette erreur:
    Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in D:\wamp\www\Cthulhu\_MIcptPJtt.php on line 99
    Call Stack
    # Time Memory Function Location
    1 0.0004 168712 {main}( ) ..\_MIcptPJtt.php:0
    2 0.0005 172048 SauveCompet( ) ..\_MIcptPJtt.php:301
    3 0.0015 179944 execute ( ) ..\_MIcptPJtt.php:99
    Je n'ai jamais le message en français : echo "Une erreur est survenue dans la requète update : ", $e->getMessage();
    Je crois que je vais devoir abandonner PDO et essayer de rentrer mes modifications "à l'ancienne" car là je suis désabusé..
    Si quelqu'un à une idée avant çà, je suis preneur.
    Merci

  7. #7
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    L'erreur est claire : il manque un paramètre.
    En l'occurence :id_PjPnj
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre habitué Avatar de MelkInarian
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 144
    Points
    144
    Par défaut
    Bonsoir sabotage,
    L'erreur est claire : il manque un paramètre.
    En l'occurence :id_PjPnj
    C'est clair ! Et toutes ces heures passées sans le voir.
    "Il vaut mieux un qui sait que dix qui cherchent", disait le sage!
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] modification d'une table mysql a partir d'un formulaire
    Par belakhdarbts10 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 20/07/2011, 08h13
  2. Vue non mise à jour après modification d'une table
    Par cybernet35 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/01/2006, 13h54
  3. MySQL Administrator : modifier les données d'une table
    Par Robinounou dans le forum Outils
    Réponses: 4
    Dernier message: 13/07/2005, 17h21
  4. date de dernière modification d'une table ?
    Par NiBicUs dans le forum Requêtes
    Réponses: 3
    Dernier message: 17/12/2004, 18h11
  5. Erreur lors de modification d'une table
    Par seb.49 dans le forum SQL
    Réponses: 11
    Dernier message: 13/01/2003, 17h16

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