Ajout d'une ligne dans une base de données (php)
Fermé
haikei00X
Messages postés
67
Date d'inscription
dimanche 20 juillet 2014
Statut
Membre
Dernière intervention
11 janvier 2016
-
Modifié par haikei00X le 21/08/2014 à 18:27
Utilisateur anonyme - 22 août 2014 à 00:24
Utilisateur anonyme - 22 août 2014 à 00:24
A voir également:
- Ajout d'une ligne dans une base de données (php)
- Aller à la ligne dans une cellule excel - Guide
- Partage de photos en ligne - Guide
- Site de vente en ligne particulier - Guide
- Retour a la ligne php ✓ - Forum PHP
- Formules excel de base - Guide
2 réponses
Bonjour,
il faut regarder quel est le format des variables pour chacune des colonnes des tables.
Si on donne des chiffres dans une colonne qui doit recevoir du text çà ne pose pas de problème.
Mais l'inverse oui.
Je vois que dans certaines requête insert into tu ne mets pas le nom des colonnes. Il faut aussi faire attention au fait que tes tables n'ont pas forcement le même nombre de colonnes.
A ta place, je ferai une requête insert into pour chaque table.
il faut regarder quel est le format des variables pour chacune des colonnes des tables.
Si on donne des chiffres dans une colonne qui doit recevoir du text çà ne pose pas de problème.
Mais l'inverse oui.
Je vois que dans certaines requête insert into tu ne mets pas le nom des colonnes. Il faut aussi faire attention au fait que tes tables n'ont pas forcement le même nombre de colonnes.
A ta place, je ferai une requête insert into pour chaque table.
Utilisateur anonyme
22 août 2014 à 00:24
22 août 2014 à 00:24
Bonjour
Dans une requête SQL, les valeurs de types texte (VARCHAR et autres TEXT) doivent être mises entre apostrophes ou double quotes.
Quand tu écris
et que $val1 contient toto, ta requête devient
Tu aurais donc dû écrire comme requête :
Bien sûr, ceci s'applique à tous les champs de ta requête.
Tu peux le faire sans danger pour les valeurs numériques aussi, ce qui t'évite d'avoir à faire attention au type de champ : mets systématiquement ces apostrophes.
Par contre, j'ai bien dit de les mettre autour des valeurs : pas autour des noms de tables ou de champs.
Dans une requête SQL, les valeurs de types texte (VARCHAR et autres TEXT) doivent être mises entre apostrophes ou double quotes.
Quand tu écris
$sql= "INSERT INTO matab VALUES (".$val1.")";
et que $val1 contient toto, ta requête devient
INSERT INTO matab VALUES (toto)alors qu'il faudrait
INSERT INTO matab VALUES ('toto')
Tu aurais donc dû écrire comme requête :
$sql= "INSERT INTO matab VALUES ('".$val1."')";
Bien sûr, ceci s'applique à tous les champs de ta requête.
Tu peux le faire sans danger pour les valeurs numériques aussi, ce qui t'évite d'avoir à faire attention au type de champ : mets systématiquement ces apostrophes.
Par contre, j'ai bien dit de les mettre autour des valeurs : pas autour des noms de tables ou de champs.