[SQL] Probleme requete UPDATE

Résolu/Fermé
benoit63 Messages postés 52 Date d'inscription mardi 22 juillet 2008 Statut Membre Dernière intervention 10 décembre 2008 - 30 sept. 2008 à 22:14
 lily12159 - 15 mai 2009 à 12:06
Bonjour,

J'ai un formulaire sur la page 'database_edit.php' et quand j'exécute ma requête d'UPDATE tout ce passe bien, pas d'erreur. Mais ca ne met pas a jour ma base de données.
Je ne vois pas ou pourrez être l'erreur.


Ma requete :

$sql="UPDATE `case`
SET `case_status`='".$case_status."',
 `date_modif`='".$date_modif."',
 `receive_letter`='".$receive_letter."',
 `dated_letter`='".$dated_letter."',
 `request_letter`='".$request_letter."',
 `acknowledged_letter`='".$acknowledged_letter."',
 `date_assigned`='".$date_assigned."',
 `date_sent_compiler`='".$date_sent_compiler."',
 `date_returned_compiler`='".$date_returned_compiler."',
 `date_case_completed`='".$date_case_completed."',
 `date_final_report_sent`='".$date_final_report_sent."',
 `invoice_number`='".$invoice_number."',
 `invoice_amount`='".$invoice_amount."',
 `date_start_loss`='".$date_start_loss."', 
`date_end_loss`='".$date_end_loss."',
 `location_loss`='".$location_loss."',
 `fk_id_claim`='".$id_claim."',
 `fk_id_district`='".$district."',
 `fk_id_compiler`='".$fk_id_compiler."',
 `fk_id_emp`='".$assigned_to."',
 `fk_id_contact`='".$Contact."',
 `date_update`='".$date_update."',
 `description_update`='".$description_update."',
 `fk_id_updater_emp`='".$fk_id_updater_emp."' 
WHERE `id_case`='".$id_case."'";
								
$edit_case=mysql_query($sql)or die ("/!\ THERE IS AN ERROR WHEN YOU EDIT THE CASE : CHECK THAT YOU CHOSE AN OPTION IN EVERY DROPDOWN BOX ".$edit_case.''.mysql_error());
echo"<br />";
echo "<br /><span class=\"success\">CASE EDITED !</span>";



Ma table :
CREATE TABLE `case` (
  `num_case` int(11) NOT NULL auto_increment,
  `id_case` varchar(20) NOT NULL,
  `case_status` text NOT NULL,
  `date_creation` varchar(30) NOT NULL,
  `date_modif` varchar(30) NOT NULL,
  `receive_letter` varchar(10) NOT NULL,
  `dated_letter` varchar(10) NOT NULL,
  `request_letter` text NOT NULL,
  `acknowledged_letter` varchar(10) NOT NULL,
  `date_assigned` varchar(10) NOT NULL,
  `date_sent_compiler` varchar(10) NOT NULL,
  `date_returned_compiler` varchar(10) NOT NULL,
  `date_case_completed` varchar(10) NOT NULL,
  `date_final_report_sent` varchar(10) NOT NULL,
  `invoice_number` varchar(20) NOT NULL,
  `invoice_amount` varchar(20) NOT NULL,
  `date_start_loss` varchar(10) NOT NULL,
  `date_end_loss` varchar(10) NOT NULL,
  `location_loss` text NOT NULL,
  `fk_id_claim` int(11) NOT NULL,
  `fk_id_district` int(11) NOT NULL,
  `fk_id_compiler` int(11) NOT NULL COMMENT 'employe ayent compiler le rapport',
  `fk_id_emp` int(11) NOT NULL COMMENT 'investigator (assigned to))',
  `fk_id_insured` int(11) NOT NULL,
  `fk_id_contact` int(11) NOT NULL,
  `date_update` varchar(10) NOT NULL,
  `description_update` text NOT NULL,
  `fk_id_updater_emp` int(11) NOT NULL,
  PRIMARY KEY  (`num_case`),
  KEY `fk_id_emp` (`fk_id_emp`),
  KEY `fk_id_insured` (`fk_id_insured`),
  KEY `fk_id_compiler` (`fk_id_compiler`),
  KEY `fk_id_updater_emp` (`fk_id_updater_emp`),
  KEY `fk_id_claim` (`fk_id_claim`),
  KEY `fk_id_district` (`fk_id_district`),
  KEY `fk_id_contact` (`fk_id_contact`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

-- 
-- Dumping data for table `case`
-- 

INSERT INTO `case` (`num_case`, `id_case`, `case_status`, `date_creation`, `date_modif`, `receive_letter`, `dated_letter`, `request_letter`, `acknowledged_letter`, `date_assigned`, `date_sent_compiler`, `date_returned_compiler`, `date_case_completed`, `date_final_report_sent`, `invoice_number`, `invoice_amount`, `date_start_loss`, `date_end_loss`, `location_loss`, `fk_id_claim`, `fk_id_district`, `fk_id_compiler`, `fk_id_emp`, `fk_id_insured`, `fk_id_contact`, `date_update`, `description_update`, `fk_id_updater_emp`) VALUES 
(1, 'OTP/1/2008', 'New Case', '30/09/2008', '30/09/2008', '30/09/2008', '30/09/2008', '', '', '', '', '', '', '', '', '', '01/09/2008', '01/09/2008', 'Maraval Road', 21, 19, 1, 1, 1, 64, '', '', 2);

-- 
-- Constraints for dumped tables
-- 

-- 
-- Constraints for table `case`
-- 
ALTER TABLE `case`
  ADD CONSTRAINT `case_ibfk_10` FOREIGN KEY (`fk_id_contact`) REFERENCES `contact` (`id_contact`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `case_ibfk_3` FOREIGN KEY (`fk_id_emp`) REFERENCES `employe` (`id_emp`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `case_ibfk_4` FOREIGN KEY (`fk_id_insured`) REFERENCES `insured` (`id_insured`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `case_ibfk_6` FOREIGN KEY (`fk_id_compiler`) REFERENCES `employe` (`id_emp`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `case_ibfk_7` FOREIGN KEY (`fk_id_updater_emp`) REFERENCES `employe` (`id_emp`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `case_ibfk_8` FOREIGN KEY (`fk_id_claim`) REFERENCES `claim` (`id_claim`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `case_ibfk_9` FOREIGN KEY (`fk_id_district`) REFERENCES `district` (`id_district`) ON DELETE CASCADE ON UPDATE CASCADE;





Merci de votre aide.
A voir également:

3 réponses

benoit63 Messages postés 52 Date d'inscription mardi 22 juillet 2008 Statut Membre Dernière intervention 10 décembre 2008 87
2 oct. 2008 à 16:17
Merci.. Ça m'a aider a trouver le problème.

La condition reste vide :
WHERE `id_case`='".$id_case."'";

probleme resolu ;)
1
bjr à vous,

Je fait un projet sur acess et j'ai un probléme avec ma requéte, j'aimerai augmenter le champ effectif de la table lycee2, et quand je met la modification du 1 er lycee je peut modifier l'effectif seulement si je met l'effectif = 1, et quand je met la modification du 2em lycee je peut modifier l'effectif seulement si je met l'effectif = 2.


voici ma requête:

UPDATE LYCEE2
SET EFFECTIF = LYCEE.EFFECTIF
WHERE LYCEE.EFFECTIF = NUMLYCEE
AND NUMLYCEE=[numero_de_la_ligne_a_modifier]
AND LYCEE2.EFFECTIF not like LYCEE2.NUMLYCEE;
1
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
30 sept. 2008 à 22:32
salut,

juste après la déclaration de ta requête ajoute :
print_r( $sql );

la requête va s'afficher, tu fais un copier/coller pour tester directement dans PHPMyAdmin (onglet "SQL"), comme ça tu sauras ce qui cloche (en général du moins…).
0