IPB

Bienvenue invité ( Connexion | Inscription )

> php PDO insert ligne avec valeurs par défaut ?
Options
toluol
posté 8 Jul 2019, 13:23
Message #1


Macbidouilleur d'argent !
***

Groupe : Membres
Messages : 792
Inscrit : 14 Nov 2003
Lieu : Genève
Membre no 11 656



Bonjour,

J'ai un problème d'insertion dans une base de données mysql en PDO.

Une insertion basique se faisant ainsi :
Code
$sql = "INSERT INTO users (id, name, surname) VALUES (?,?,?)";
$pdo->prepare($sql)->execute([$id, $name, $surname]);

... en inscrivant tous les champs et leurs valeurs.

Comment insérer une ligne "vide" avec les valeurs par défaut de MySql ?
Ceci ne fonctionnant pas :
Code
$sql = "INSERT INTO $table () VALUES ()";
$pdo->prepare($sql)->execute();


Note : Je suis sous sous php 7.3
D'avance, je vous remercie pour vos lumières !
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
scoch
posté 11 Jul 2019, 11:00
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 915
Inscrit : 1 Jul 2010
Membre no 156 073



Citation (toluol @ 8 Jul 2019, 14:23) *
Comment insérer une ligne "vide" avec les valeurs par défaut de MySql ?
Ceci ne fonctionnant pas :
Code
$sql = "INSERT INTO $table () VALUES ()";
$pdo->prepare($sql)->execute();

Je viens de tester avec succès :
Code
$requete = $bdd->prepare('INSERT INTO machin() VALUES()');
$requete->execute();

$requete->closeCursor();

Les valeurs par défaut des champs sont bien appliquées aux champs de la nouvelle ligne.

Autre exemple pour insérer la valeur par défaut pour un seul champ :
Code
$requete = $bdd->prepare('INSERT INTO machin(prenom, nom, age) VALUES(:prenom, :nom, DEFAULT)');
$requete->execute(array(
    'prenom' => $prenom,
    'nom' => $nom
));

$requete->closeCursor();

Le champ "age" a bien la valeur par défaut.

Bien entendu, je ne me préoccupe pas de sécurité ici (voir le post de Jaypee).

Ce message a été modifié par scoch - 11 Jul 2019, 11:08.


--------------------
L'homme n'est que poussière... c'est dire l'importance du plumeau ! Alexandre Vialatte
Go to the top of the page
 
+Quote Post

Les messages de ce sujet


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 5th July 2025 - 14:36