Mise à jour de la base de données MySQL
csi_bern
-
giheller Messages postés 1960 Date d'inscription Statut Membre Dernière intervention -
giheller Messages postés 1960 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'ai conçu la base MySQL ainsi :
Le problème est que quand je veux faire une mise à jour d'entrées (que je fais à partir d'une page php qui reprends tous les enregistrements en les classant dans des inputs), les champs "stadt" et "gruppe" (et uniquement ceux-là) ajoute à chaque fois un espace après la valeur (donc 5 mises à jour = 5 échappements).
J'ai contrôlé, dans la reprise de mes inputs, je n'insère pas de caractère d'échappement.
Merci d'avance pour les réponses
J'ai conçu la base MySQL ainsi :
CREATE TABLE IF NOT EXISTS `ma` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, `vorname` varchar(100) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, `ak` varchar(4) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, `geb` varchar(10) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, `intern` int(4) NOT NULL, `npa` int(4) NOT NULL, `stadt` varchar(100) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, `strasse` varchar(100) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, `mobile` varchar(15) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, `privat` varchar(15) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, `gruppe` varchar(10) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, `pos` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, `fg1` varchar(2) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, `fg2` varchar(2) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, `fg3` varchar(2) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, `fg4` varchar(2) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, `fg5` varchar(2) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=68 ;
Le problème est que quand je veux faire une mise à jour d'entrées (que je fais à partir d'une page php qui reprends tous les enregistrements en les classant dans des inputs), les champs "stadt" et "gruppe" (et uniquement ceux-là) ajoute à chaque fois un espace après la valeur (donc 5 mises à jour = 5 échappements).
J'ai contrôlé, dans la reprise de mes inputs, je n'insère pas de caractère d'échappement.
Merci d'avance pour les réponses
A voir également:
- Mise à jour de la base de données MySQL
- Fuite données maif - Guide
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Base de registre - Guide
- Mise a jour chromecast - Accueil - Guide TV et vidéo
2 réponses
bonsoir,
la longueur de la requête ainsi générée est peut être plus grande que le buffer, d'où ce découpage.
recomposez votre requête en plusieurs fois
exemple
$query = ...
$query .= la suite
...
la longueur de la requête ainsi générée est peut être plus grande que le buffer, d'où ce découpage.
recomposez votre requête en plusieurs fois
exemple
$query = ...
$query .= la suite
...
bonjour
essaie ainsi
$query ="UPDATE ma SET id = '".$id."', name = '".$name."', vorname = '".$vorname."', ak = '".$ak."', geb = '".$geb."',";
$query .="intern = '".$intern."', npa = '".$npa."', stadt = '".$stadt."', strasse = '".$strasse."',";
$query .= "mobile = '".$mobile."', privat = '".$privat."', gruppe = '".$gruppe."', pos = '".$pos."', fg1 = '".$fg1."', fg2 = '".$fg2."',";
$query .="fg3 = '".$fg3."', fg4 = '".$fg4."', fg5 = '".$fg5."'";
essaie ainsi
$query ="UPDATE ma SET id = '".$id."', name = '".$name."', vorname = '".$vorname."', ak = '".$ak."', geb = '".$geb."',";
$query .="intern = '".$intern."', npa = '".$npa."', stadt = '".$stadt."', strasse = '".$strasse."',";
$query .= "mobile = '".$mobile."', privat = '".$privat."', gruppe = '".$gruppe."', pos = '".$pos."', fg1 = '".$fg1."', fg2 = '".$fg2."',";
$query .="fg3 = '".$fg3."', fg4 = '".$fg4."', fg5 = '".$fg5."'";
Malheureusement, même en décomposant comme suit, les mêmes problèmes apparaissent :