2010-12-06 18 views
8

¿Cómo puedo mostrar los números de filas afectadas en este:Fetch número de filas afectadas y último registro insertado ID utilizando DOP comunicado

$sql = $conn->prepare ("UPDATE countries SET country=:country"); 
$sql->bindValue(":country", "blablaa"); 
$sql->execute(); 

Y cómo puedo mostrar el último ID insertado con esto:

$sql = $conn->prepare ("INSERT INTO countries (country) VALUES (:country)"); 
$sql->bindValue(":country", "test"); 
$sql->execute(); 
echo $sql->lastInsertId(); // id of last inserted 

he intentado, pero estoy recibiendo una llamada de error de método no definido PDO::lastInsertId()

Respuesta

7
$sql->lastInsertId(); 

necesita ser representante acedido con

$dbh->lastInsertId(); 

Donde $ dbh es su objeto PDO.

Consulte here para obtener más información.

exec devuelve el número de filas afectadas, execute solo devuelve un valor verdadero o falso.

+0

No puedo hacer que funcione con $ dbh-> lastInsertId() ;. En el enlace que proporcionó Dice $ dbh-> exec ("INSERT INTO ..." pero eso es un doble trabajo, quiero decir, tengo $ sql con la preparación anterior, ¿por qué iba a escribir todo eso otra vez para hacer eco de la última inserción? .? Me falta algo, ¿podría escribir un ejemplo de mi código sobre cómo se haría eco de lastinsertid()? – Karem

+2

En su caso, está usando '$ conn' como su objeto PDO, por lo tanto intente' $ conn-> lastInsertId() ; ' – Erik

Cuestiones relacionadas