与LAST_INSERT_ID的mysql错误

时间:2013-06-11 22:02:46

标签: mysql

我使用MYSQL_INSERT_ID时出错。

错误:

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   在'INSERT INTO FicheHandicap(NumeroCORH)VALUES附近(NULL);组   @NewidFicheHandicap ='第2行

请求:

START TRANSACTION;
 INSERT INTO FicheHandicap (NumeroCORH) VALUES (NULL);
 SET @NewidFicheHandicap = LAST_INSERT_ID();
 INSERT INTO FicheSanitaire (DateVaccinHepatite) VALUES (NULL);
 SET @NewidFicheSanitaire = LAST_INSERT_ID();
 INSERT INTO Identite (Nom,NomJeuneFille,Prenoms,DateNaissance,LieuNaissance,Nationalite,CouvertureSociale,Mutuelle1,Mutuelle2,Mutuelle3,Bourse1,Bourse2,Sexe,idGenre,idFicheSanitaire,idFicheHandicap) VALUES ("TOTO","","TOTO","2013-06-12","TOTO","TOTO","TOTO","TOTO","TOTO","TOTO","TOTO","TOTO","0","1",@NewidFicheSanitaire,@NewidFicheHandicap);
 SET @NewidIdentite = LAST_INSERT_ID();
 INSERT INTO Personne (MembreActif, Actif, IdIdentite) VALUES ("1", "1", @NewidIdentite);
 COMMIT;

我使用php:

$query = 'START TRANSACTION;'."\n";
$query .= ' INSERT INTO FicheHandicap (NumeroCORH) VALUES (NULL);'."\n";
$query .= ' SET @NewidFicheHandicap = LAST_INSERT_ID();'."\n";
$query .= ' INSERT INTO FicheSanitaire (DateVaccinHepatite) VALUES (NULL);'."\n";
$query .= ' SET @NewidFicheSanitaire = LAST_INSERT_ID();'."\n";
$query .= ' INSERT INTO Identite (Nom,NomJeuneFille,Prenoms,DateNaissance,LieuNaissance,Nationalite,CouvertureSociale,Mutuelle1,Mutuelle2,Mutuelle3,Bourse1,Bourse2,Sexe,idGenre,idFicheSanitaire,idFicheHandicap) VALUES ("'.$resultat['Nom'].'","'.$resultat['NomJeuneFille'].'","'.$resultat['Prenoms'].'","'.preg_replace("#(.*)/(.*)/(.*)#", "$3-$2-$1", $resultat['DateNaissance']).'","'.$resultat['LieuNaissance'].'","'.$resultat['Nationalite'].'","'.$resultat['CouvertureSociale'].'","'.$resultat['Mutuelle1'].'","'.$resultat['Mutuelle2'].'","'.$resultat['Mutuelle3'].'","'.$resultat['Bourse1'].'","'.$resultat['Bourse2'].'","'.$resultat['Sexe'].'","'.$resultat['idGenre'].'",@NewidFicheSanitaire,@NewidFicheHandicap);'."\n";
$query .= ' SET @NewidIdentite = LAST_INSERT_ID();'."\n";
$query .= ' INSERT INTO Personne (MembreActif, Actif, IdIdentite) VALUES ("'.$resultat['MembreActif'].'", "'.$resultat['Actif'].'", @NewidIdentite);'."\n";
$query .= ' COMMIT;'."\n";

                $resultat = $mysqli->query($query);

0 个答案:

没有答案