Función mysql_store_result()

MYSQL_RES *mysql_store_result(MYSQL *mysql);

Se debe usar mysql_store_result() o mysql_use_result para cada consulta que haya recuperado datos (, , , , , etc).

No es necesario llamarlas para otras consultas, pero no harán ningún daño ni resultará una pérdida apreciable si se llama a mysql_store_result() en todos los casos. Se puede comprobar si la consulta no ha proporcionado resultados comprobando si mysql_store_result() devuelve cero.

Si se quiere saber si una consulta debe devolver un conjunto de resultados o no, se puede usar mysql_field_count.

mysql_store_result() lee el resultado total de una consulta al cliente, asigna una estructura y coloca el resultado en esa estructura.

mysql_store_result() devuelve un puntero nulo si la consulta no ha devuelto un conjunto de resultados (si la consulta ha sido, por ejemplo, una sentencia ).

mysql_store_result() también devuelve un puntero nulo si la lectura del conjunto de resultados falla. Se puede verificar si se trata de un error comprobando si mysql_error devuelve una cadena no vacía, si mysql_errno devuelve un valor distinto de cero o si mysql_field_count devuelve un valor cero.

Se obtiene un conjunto de resultados vacío si no hay filas devueltas. (No es lo mismo un conjunto de resultados vacío que un puntero nulo como valor de retorno.)

Una vez que se ha llamado a mysql_store_result() y se ha obtenido un resultado que no sea un puntero nulo, se puede llamar a mysql_num_rows para encontrar cuántas filas hay en el conjunto de resultados.

También se puede llamar a mysql_fetch_row para recuperar filas desde el conjunto de resultadost, o mysql_row_seek y mysql_row_tell para obtener o modificar la posición actual de la fila dentro del conjunto de resultados.

Se debe llamar a mysql_free_result una vez que se ha terminado de procesar el conjunto de resultados.

A veces mysql_store_result() devuelve NULL después aunque mysql_query regrese con éxito.

  • Se ha producido un error al reservar memoria dinámica, por ejemplo, si el conjunto de resultados es demasiado grande.
  • Los datos no pudieron ser leídos, si ha ocurrido un error durante la conexión.
  • La consulta no ha devuelto datos, por ejemplo, una consulta de tipo , o ).

Valores de retorno

Una estructura con los resultados o NULL si se ha producido un error.

Errores

mysql_store_result() resetea mysql_error y mysql_errno si tiene éxito.

CR_COMMANDS_OUT_OF_SYNC: los comandos fueron ejecutados en un orden inapropiado.

CR_OUT_OF_MEMORY: no hay memoria.

CR_SERVER_GONE_ERROR: el servidor MySQL no está presente.

CR_SERVER_LOST: la conexión con el servidor se perdió durante la consulta.

CR_UNKNOWN_ERROR: ha ocurrido un error desconocido.



suministrado por FreeFind
Valid HTML 4.0! Valid CSS!