note 118480 deleted from pdostatement.nextrowset by salathe

From: Date: Mon, 14 Dec 2015 17:45:13 +0000
Subject: note 118480 deleted from pdostatement.nextrowset by salathe
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-204350@lists.php.net to get a copy of this message
Note Submitter: g3l2e1 at gmail dot com ---- Quando se está fazendo um insert ou update e se quer retornar o valor do id inserido ou de uma consulta após o insert ou update, algumas versões do php executam naturalmente o sql, porém outras só funcionam com o uso de $stmt->nextRowset(); Isso acontece comigo, onde no trabalho não preciso da função, mas em casa é necessário. A solução é simples. Apenas verifique com method_exist(); Ex: $sql = "insert into TABELA (campoA, campoB, campoC) values ('A','B','C') select SCOPE_IDENTITY() as id"; $stmt = $con->prepare($this->sqlSenha); $stmt->execute(); if(method_exists($stmt, 'nextRowset')){ $stmt->nextRowset(); } $data = $stmt->fetch(PDO::FETCH_ASSOC); $id = $data['id']; Se houver necessidade do nextRowset ele executa e retorna o id produzido no insert ou update.

« previous php.notes (#204350) next »