Probleme requete UPDATE Php/Mysql

Résolu/Fermé
Uebueb - 5 févr. 2009 à 10:35
 Uebueb - 5 févr. 2009 à 10:57
Bonjour,
J'ai un probleme incompréhensible dans une des mes requetes UPDATE. Le truc c qu'elle fonctionne mais qu'elle ne rentre pas la totalité de la chaine de caractère contenue dans ma variable.
Je m'explique pas du code :
while ($i<=$diff){
$j=0;
while ($j<=$diff){
if ($ref[$i][$j]!=""){
echo $ref[$i][$j].' '.$curdate[$j].'<br>';
$tab=$ref[$i][$j];
echo $tab.'<br>';
$req="SELECT Id_eta FROM periode WHERE Id_eta='$ideta' AND Curdate='$curdate[$j]'";
$res=mysql_query($req);
$data=mysql_fetch_array($res);
echo $data[0].'<br>';
$id_eta=$data[0];
$req2="UPDATE periode SET Dortoir='$tab' WHERE Id_eta='$id_eta'";
$res=mysql_query($req2);
if (!$res) {
echo "Impossible d'exécuter la requête ($sql) dans la base : " . mysql_error();
exit;
}
}
$j++;
}
$i++;
}

Mon update sur la table periode n'enregistre que le début de ma chaine de caractère. Au début je pensais que c'etait parce qu'elle etait espace, j'ai enlevé les espaces ca change rien. Pour info ma variable $tab est égal a Dortoir1Doirtoir2 etc...
Je vois aucune explication à ce problème si quelqu'un peut m'aider ce serait cool
Merci
A voir également:

4 réponses

Bonjour

Peut-être que ton champ Dortoir est défini avec une taille trop petite, genre VARCHAR(10) et tu essayes de mettre plus de 10 caractères dedans
0
Ah oui g oublié de dire, j'ai tout essayé sur le type de Dortoir, mettre varchar(100), text, longtext rien à faire, j'pense pas que ca vienne d'un pb de requete ca doit être mon code, mais la j'vois pas -_-
0
J'ai trouvé c bien mon code, j'donne la soluce ds peu de tps
0
Bon alors le truc c que j'écrasais mes données, en fait j'enregistrais avec la condition Id_eta='$ideta', ce qui revenait à enregistrer sur toutes les lignes, la ou je voulais enregistrer sur une seule -_-. Il suffit de changer dans la requête de sélection le Id_eta par Curdate, et mm chose dans l'update donc, la à chaque tour de la boucle on enregistre bien sur une seule ligne, YATTA.
0