Page 1 sur 1

Insérer données type int dans BDD

Posté : 29 mars 2017, 19:10
par JayTricks
Bonjour tout le monde,

J'ai voulu insérer dans ma BDD différentes valeurs, dans ma table Meubles j'ai des champs dimensions qui sont au format Int mais lors de l'ajout dans la base de donnée comment je procède ?

$req = $bdd->prepare('
                      INSERT INTO users (nom, reference, longueur, largeur, poids)
                      VALUES (:nom, :reference, :longueur, :largeur, :poids)');
$req->bindValue(':nom', $_POST['nom']);
$req->bindValue(':reference', $_POST['reference']);
$req->bindValue(':longueur', $_POST['longueur']);
$req->bindValue(':largeur', $_POST['largeur']);
$req->bindValue(':poids', $_POST['poids']);
$req->execute();

Rien ne s'ajoutait à la BDD, du coup j'ai mis tous mes champs en varchar et cela fonctionne mais ça me pose problème je veux pouvoir les mettre au format INT ou autre à l'avenir lorsque j'aurai besoin de faire des calculs etc...

Merci par avance de me mettre sur la voie.

Re: Insérer données type int dans BDD

Posté : 30 mars 2017, 08:39
par Spols
Il faut que tu utilise le 3e paramètres de bindValue pour définir le type de donnée
http://php.net/manual/en/pdostatement.bindvalue.php
tu peux aussi tester l'éxécution de ta requète et faire afficher les messages d'erreur pour t'aider à situer le problème.

Re: Insérer données type int dans BDD

Posté : 30 mars 2017, 10:28
par moogli
salut,

il faut voir s'il y a une erreur parce que généralement les sgbd font du cast auto de string vers int ;)

@+

Re: Insérer données type int dans BDD

Posté : 31 mars 2017, 10:04
par JayTricks
Merci pour vos réponses,

@spols au tout début j'avais essayé avec PDO::PARAM_INT en second paramètre. Mais même résultat.

@moogli, le truc c'est que je n'ai pas de message d'erreur j'ai juste pas d'entrée dans ma base de donnée.


EDIT : Bon bah pour qui pour quoi il se trouve qu'aujourd'hui ça marche ^^ effectivement pas besoin de mettre PDO::PARAM_INT il le fait automatiquement mais la dernière fois ça ne marchait pas.

Re: [RESOLU] Insérer données type int dans BDD

Posté : 31 mars 2017, 15:39
par moogli
attention quand même cela est utile dans certain cas ou le cast n'est pas possible (par exemple une limite ou parfois dans un where).

@+

Re: [RESOLU] Insérer données type int dans BDD

Posté : 31 mars 2017, 17:41
par JayTricks
Oki j'y penserais du coup je le mettrai je te remercie.