Bonjour à tous,

Je suis entrain de migrer de MYSQL vers sur SQLServer et je rencontre quelque problème...


je suis entrain de tester des requete PDO pour voir ce qui fonctionne pas et je rencontre un premier problème qui est de récupérer le dernier id généré..

je n'ai aucun message d'erreur et rien de s'affiche...

Si quelqu'un a une idée...

Code : 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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
function get_connect(){
  try{
        // ---------
        $hostname    = '######';	// voir hébergeur ou "localhost" en local
        $database    = '######';	// nom de la BdD
        $username    = '######';		// identifiant
        $password    = '######';		// mot de passe
        // ---------
	$strConn     = 'sqlsrv:server='.$hostname.';Database='.$database;
	$extraParam    = array(
		PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,		// rapport d'erreurs sous forme d'exceptions
		PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC	// fetch mode par defaut
		);
        // ---------
	// Instancie la connexion
	$bdd = new PDO($strConn, $username, $password, $extraParam);
	return $bdd;
 
  }catch (Exception $e){ return	die('ERREUR PDO dans ' . $e->getFile() . ' L.' . $e->getLine() . ' : ' . $e->getMessage()); }
 
}
 
  	try{
		$creer = get_connect()->prepare("INSERT INTO fiche_optimisation (Machine,Reference_piece,Actif) VALUES (:machine,:reference_piece,:actif)");
		$creer->bindParam(':machine', $test, PDO::PARAM_STR);
		$creer->bindParam(':reference_piece', $test, PDO::PARAM_STR);
		$creer->bindValue(':actif', 2, PDO::PARAM_INT);
		$test = "test";
 
		if ($creer->execute()) { //Vérifie si l'upload a fonctionné 
			echo get_connect()->lastInsertId(); //Retourne l'identifiant de la dernière ligne insérée
			$messageDeRetour = '1';
		}else{
			$messageDeRetour = '2';
		}
 
  	}catch (Exception $e){ return	die('ERREUR PDO dans ' . $e->getFile() . ' L.' . $e->getLine() . ' : ' . $e->getMessage()); }
	$creer->closeCursor(); 
?>