0

MYSQL_INSERT_ID を使用するとエラーが発生します..

エラー :

SQL 構文にエラーがあります。'INSERT INTO FicheHandicap (NumeroCORH) VALUES (NULL); の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。SET @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);
4

0 に答える 0