Problème insert into
Gonzalo_Gonzalo
-
Utilisateur anonyme -
Utilisateur anonyme -
Pardonnez-moi, mais je nage...
Je travaille sur l'interface d'un site en php mysql. Pour ajouter des données à l'une des tables ma base, j'ai conçu un formulaire spécifique, et une page exécutant une requête d'insertion. Il s'agit, à chaque fois, d'ajouter une seule ligne.
Sur la page d'insertion, je récupère les données envoyées par le formulaires et je renomme mes variables ainsi :
Les variables type, haut et larg ne contiennent que des chiffres ; la variable img contient une chaine de caractères (lettres et chiffres), sans autre ponctuation qu'un underscore, sous la forme suivante : bmp_d3463_0337_image_41
La récupération des variables depuis le formulaire marche sans problème ; je m'en suis assuré en affichant (avec un echo) toutes ces variables. Il n'y a pas de problème.
Pour la requête d'insertion elle même, j'ai développé le code suivant :
Sur ma machine, sous wamp, ça marche sans problème. Mais une fois sur le "vrai" serveur (en ligne), la requête ne fonctionne plus. Je n'ai aucun message d'erreur ni rien, mais aucune ligne n'est ajoutée à ma table.
Je me suis dit que les variables devaient perturber la requête, donc j'ai opté pour une requête préparée avec un array (même si je ne cherche à ajouter qu'une seule ligne à ma table) :
Là encore, sur ma machine sous wamp, ça marche. Mais sur le serveur, ça ne marche pas.
Et ne comprends pas pourquoi.
Quelqu'un a une idée?
Merci
Je travaille sur l'interface d'un site en php mysql. Pour ajouter des données à l'une des tables ma base, j'ai conçu un formulaire spécifique, et une page exécutant une requête d'insertion. Il s'agit, à chaque fois, d'ajouter une seule ligne.
Sur la page d'insertion, je récupère les données envoyées par le formulaires et je renomme mes variables ainsi :
$img=$_POST['img']; $type=$_POST['type']; $larg=$_POST['haut']; $haut=$_POST['larg'];
Les variables type, haut et larg ne contiennent que des chiffres ; la variable img contient une chaine de caractères (lettres et chiffres), sans autre ponctuation qu'un underscore, sous la forme suivante : bmp_d3463_0337_image_41
La récupération des variables depuis le formulaire marche sans problème ; je m'en suis assuré en affichant (avec un echo) toutes ces variables. Il n'y a pas de problème.
Pour la requête d'insertion elle même, j'ai développé le code suivant :
$bdd->exec("INSERT INTO t_bois(Numimg,Type_Ornement,largeur,hauteur) VALUES ('$img','$type','$larg','$haut')");
Sur ma machine, sous wamp, ça marche sans problème. Mais une fois sur le "vrai" serveur (en ligne), la requête ne fonctionne plus. Je n'ai aucun message d'erreur ni rien, mais aucune ligne n'est ajoutée à ma table.
Je me suis dit que les variables devaient perturber la requête, donc j'ai opté pour une requête préparée avec un array (même si je ne cherche à ajouter qu'une seule ligne à ma table) :
$creation = $bdd->prepare("INSERT INTO t_bois(Numimg, Type_Ornement, largeur, hauteur) VALUES (:img, :type, :largeur, :hauteur)"); $creation->execute(array( 'img' => $img, 'type' => $type, 'largeur' => $larg, 'hauteur' => $haut ));
Là encore, sur ma machine sous wamp, ça marche. Mais sur le serveur, ça ne marche pas.
Et ne comprends pas pourquoi.
Quelqu'un a une idée?
Merci
A voir également:
- Problème insert into
- Touche insert - Guide
- Disk boot failure insert system disk and press enter - Guide
- Insert boot media in selected boot device and press a key ✓ - Forum Windows 10
- Activer touche insert sur ASUS UX32A - Forum Clavier
- Monitor will go into standby mode traduction français ✓ - Forum Matériel & Système
1 réponse
Bonjour
Tes requêtes ont bien l'air correctes dans les deux cas en effet.
Je vois deux choses qui peuvent justifier une différence entre le comportement en local et chez l'hébergeur : La connexion et la sensibilité à la casse.
Pour la connexion, je suppose que tu fais bien attention, chez l'hébergeur, d'utiliser les identifiants qu'il t'a donnés. Et que tu ne confonds pas le mot de passe d'accès à mysql avec celui d'accès à phpmyadmin (ils peuvent être différents).
Pour la sensibilité à la casse (majuscules/minuscules), il faut savoir que les noms de bases de données et de tables sont liés au système de fichiers : sous Windows, peu importe que tu appelles ta table t_bois ou t_Bois, mais sur un hébergement linux, ça ne va pas marcher.
Tes requêtes ont bien l'air correctes dans les deux cas en effet.
Je vois deux choses qui peuvent justifier une différence entre le comportement en local et chez l'hébergeur : La connexion et la sensibilité à la casse.
Pour la connexion, je suppose que tu fais bien attention, chez l'hébergeur, d'utiliser les identifiants qu'il t'a donnés. Et que tu ne confonds pas le mot de passe d'accès à mysql avec celui d'accès à phpmyadmin (ils peuvent être différents).
Pour la sensibilité à la casse (majuscules/minuscules), il faut savoir que les noms de bases de données et de tables sont liés au système de fichiers : sous Windows, peu importe que tu appelles ta table t_bois ou t_Bois, mais sur un hébergement linux, ça ne va pas marcher.