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 :
This driver doesn't support transactions
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 $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>'; }
avec quelques chose comme ca
driver does not support lastInsertId()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $sql = "INSERT INTO requete_user (typeRequete) VALUES (3)"; $sth = $pdo->query($sql); $temp = $sth->fetchAll(); $temp2 = $pdo->lastInsertId();
et avec ceci
driver does not support multiple rowsets
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
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?
Partager