Bonjour,

j'effectue la copie d'une ligne de la sorte :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
// copy in `machines` table : all keys except name because unique key and so update request
	$sql='INSERT INTO `machines` (localization,pays,entite,perimetre,type,comment,contact_name,ip,contact_phone)
	SELECT localization,pays,entite,perimetre,type,comment,contact_name,ip,contact_phone
	FROM `machines` where name="'.$machselcopy.'"';
 
	$bdd->query($sql);
 
	$id_copy=$bdd->lastinsertid();
 
	$sql='update `machines` SET name="'.$name_copy.'" where id="'.$id_copy.'"';
	$bdd->query($sql);
ce code fonctionnait bien en local (Wampserver), mais mis en ligne, where id="'.$id_copy.'"' n'existe pas. Donc comment récupérer la ligne que je viens de créer avec l'insert de la ligne 2 ?

structure de la table machines :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CREATE TABLE `machines` (
  `name` varchar(20) COLLATE latin1_bin DEFAULT NULL,
  `localization` varchar(30) COLLATE latin1_bin DEFAULT NULL,
  `pays` varchar(30) COLLATE latin1_bin NOT NULL DEFAULT '',
  `entite` varchar(20) COLLATE latin1_bin DEFAULT NULL,
  `perimetre` set('Oui','Non') COLLATE latin1_bin DEFAULT NULL,
  `type` varchar(20) COLLATE latin1_bin DEFAULT NULL,
  `id` smallint(6) NOT NULL,
  `comment` varchar(100) COLLATE latin1_bin DEFAULT NULL,
  `ip` varchar(15) COLLATE latin1_bin DEFAULT NULL,
  `contact_name` varchar(50) COLLATE latin1_bin DEFAULT NULL,
  `contact_phone` varchar(50) COLLATE latin1_bin DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_bin;
 
ALTER TABLE `machines`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `name` (`name`);