récupérer un enregistrement avec lastinsertid
Bonjour,
j'effectue la copie d'une ligne de la sorte :
Code:
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:
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`); |