2011-05-21 46 views
15

hay una función mysql en php llamada mysql_free_result(); No encontré ninguna función similar para PDO.pdo free result

¿hay una función pdo para liberar el resultado de una recuperación de base de datos o el conjunto de resultados se solicita y se libera automáticamente cuando llamo a $stmt->fetch() datos?

¿alguien podría explicarme esta diferencia entre mysql nativo y pdo?

Respuesta

14

método más cercano es cursor cercano para instrucciones PDO.

http://us.php.net/manual/en/pdostatement.closecursor.php

+0

por lo que no es necesario que el pdo descargue grandes conjuntos de resultados? –

+1

para algunos controladores, es necesario cerrar todos los conjuntos de resultados antes de poder crear otro. – dqhendricks

+1

No * solo * algunos controladores: algunas * configuraciones * proporcionadas por los controladores requieren cerrar el conjunto de resultados antes de desencadenar otra consulta, como desactivar MySQL ['PDO :: MYSQL_ATTR_USE_BUFFERED_QUERY'] (http://us2.php.net/ manual/es/ref.pdo-mysql.php # pdo-mysql.constants). Afortunadamente puedes llamar a 'closeCursor' y no hará nada cuando no necesite tomar medidas. De lo contrario, simplemente se desactivará la variable que contiene el identificador de instrucción. – Charles

3

Puede establecer la variable del objeto en nulo. El GC destruirá la instancia de Declaración PDO, supongo.

+5

Lol. "Supongo". Muy agradable. :) – Jakar