Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & SQL-Server
PHP & SQL-Server Forum d'entraide sur SQL-Server avec PHP. Avant de poster -> FAQ SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/11/2011, 11h23   #1
Invité de passage
 
Inscription : avril 2008
Messages : 16
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 16
Points : 1
Points : 1
Par défaut php+mssql+linux(dblib): probleme @@Identity ou transaction ou multiple rowsets

Bonjour,

je sèche depuis un bon moment sur ce problème et j'ai beau essayé je ne trouve pas de parade à mon problème.

Je cherche à faire un insert et à récupérer la valeur de cet insert

voici mon code :

Code :
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
 
 
$dsn = 'dblib:host=IPBase;dbname=NomBase';
    $user = 'usr';
    $password = 'pass';
 
 
	try{
	    $pdo = new PDO($dsn, $user, $password);
	    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
		$pdo->exec('SET QUOTED_IDENTIFIER ON');
		$pdo->exec('SET ANSI_WARNINGS ON');
		$pdo->exec('SET ANSI_PADDING ON');
		$pdo->exec('SET ANSI_NULLS ON');
		$pdo->exec('SET CONCAT_NULL_YIELDS_NULL ON');
 
		$pdo->beginTransaction();
		$dbh->exec("INSERT INTO requete_user (typeRequete) VALUES (3)");
		$tmp=$dbh->exec("SELECT @@IDENTITY AS test");
		$dbh->commit();
		print_r($tmp);
 
	}catch(Exception $e){
		echo '<pre>';
		echo print_r($e);
		echo '</pre>';
	}
This driver doesn't support transactions

avec quelques chose comme ca
Code :
1
2
3
4
5
 
$sql = "INSERT INTO requete_user (typeRequete) VALUES (3)";
$sth = $pdo->query($sql);
$temp = $sth->fetchAll();
$temp2 = $pdo->lastInsertId();
driver does not support lastInsertId()

et avec ceci
Code :
1
2
3
4
5
 
$sql = "INSERT INTO requete_user (typeRequete) VALUES (3); SELECT @@IDENTITY AS test";
$sth = $pdo->query($sql);
$sth->nextRowset();
$tmp = $objSth->fetch(PDO::FETCH_NUM);
driver does not support multiple rowsets


Bref, je commence à avoir des doutes sur mon choix (ou sur ma manière d'utiliser pdo). Quelqu'un aurait une idée de comment récupérer ma valeur?
bak47 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h36.


 
 
 
 
Partenaires

Hébergement Web