Rechercher : dans
Par :

[SQL] Probleme requete UPDATE

Dernière réponse le 15 mai 2009 à 12:06:19 benoit63, le 30 sep 2008 à 22:14:24 
 Signaler ce message aux modérateurs

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.
Configuration: Windows XP
Firefox 3.0.2

Meilleures réponses pour « [SQL] Probleme requete UPDATE » dans :
SQL - Jointures VoirExpression des jointures Une jointure (ou θ-jointure) est un produit cartésien de deux tables. On appelle équijointure une θ-jointure dont la qualification est une égalité entre deux colonnes. En SQL, l'expression d'une jointure se...
Le langage SQL VoirQu'appelle-t-on SQL? SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage de définition de données (LDD, ou en anglais DDL Data Definition Language), un langage de manipulation de données (LMD, ou en anglais DML,...
SQL - Sous-requêtes VoirExpression des sous-requêtes Effectuer une sous-requête consiste à effectuer une requête à l'intérieur d'une autre, ou en d'autres termes d'utiliser une requête afin d'en réaliser une autre (on entend parfois le terme de requêtes en...

1

Dalida, le 30 sep 2008 à 22:32:17

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…).
[ Mathieu ]
Il y a sûrement des pandas pour ne dépendre de rien

Répondre à Dalida

2

benoit63, le 2 oct 2008 à 16:17:41

Merci.. Ça m'a aider a trouver le problème.

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

probleme resolu ;)

Répondre à benoit63

3

 lily12159, le 15 mai 2009 à 12:06:19

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;

Répondre à lily12159