Ver Mensaje Individual
  #17 (permalink)  
Antiguo 05/04/2010, 14:41
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 7 meses
Puntos: 20
Respuesta: Duda con clase mysql, saber si se ejecuta 2 veces la consulta

Cita:
Iniciado por GatorV Ver Mensaje
Si lees el manual de PHP, solamente debes de usar mysql_insert_id() con el parámetro a la conexión, no la debes de pasar a mysql_query, o sea que tu función quedaría así:
Código PHP:
Ver original
  1. public function getUltimoID()
  2. {
  3.     $ultimoId = mysql_insert_id($this->conexion);
  4.     return $ultimoId;
  5. }
Lo ejecuté, y me mostró 0 como ultimoId

No debería mostrar el último ID autonumerico del último valor?

Código PHP:
Ver original
  1. // Hacemos la consulta segura:
  2. $query = sprintf("SELECT ID,post_date,post_content FROM wp_posts WHERE ID='%s' OR post_date='%s'",
  3.     $valor1, $valor2);
  4. $db->setQuery($query);
  5.  
  6. // La ejecutamos y al mismo tiempo obtenemos un arreglo de objetos
  7. // con los campos especificados en la consulta como propiedades.
  8. $datos = $db->getArrayResult();
  9. //echo $db->countAffectedRows();
  10. //$datos2 = $db->fetchAll();
  11. echo $db->getUltimoID();


Cita:
Iniciado por GatorV Ver Mensaje
Tu función fetch_array lo que hace es regresar un array de tu ultimo resultado.

Saludos.
Si la consulta me devuelve 10 filas solo mostrará la última fila en formato array, correcto?

Entonces esta función debería mostrar todas las filas en el array $rows no?

Código PHP:
Ver original
  1. public function fetchAll()
  2.     {
  3.           $rows = array();      
  4.           while ($row = mysql_fetch_array( $this->resource, MYSQL_ASSOC )) {
  5.               array_push($rows, $row);
  6.           }
  7.           return $rows;
  8.     }

Cuando lo ejecuto, me da error en la linea:
while ($row = mysql_fetch_array( $this->resource, MYSQL_ASSOC )) {


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\00-laboratorio_test\secciones\mysql\clase_mysql_1\cla ss-mysql.php on line 142


Por qué los argumentos no son correctos, si segun el manual son
( resource $result [, int $result_type = MYSQL_BOTH ] )

La siguiente pregunta que tengo es, que diferencia habría en conseguir hacerlo de la manera anterior o esta de aquí.

Código PHP:
Ver original
  1. public function getArrayResult(){
  2.     // Devuelve un array asociativo de la consulta (por nombres de campo en vez de por indice de campo)
  3.         if (!($cur = $this->execute())){
  4.             return null;
  5.         }
  6.         $array = array();
  7.         while ($row = @mysql_fetch_object($cur)){
  8.             $array[] = $row;
  9.         }
  10.         return $array;
  11.     }

Muchas gracias de antemano!