Foros del Web » Programando para Internet » PHP »

PDO select

Estas en el tema de PDO select en el foro de PHP en Foros del Web. Buenos dias chicos, tengo una duda y no encuentro nada en documentacion de PDO. Hasta el momento para sacar un valor siempre hago lo siguente ...
  #1 (permalink)  
Antiguo 29/04/2009, 13:59
 
Fecha de Ingreso: septiembre-2006
Mensajes: 349
Antigüedad: 17 años, 7 meses
Puntos: 0
PDO select

Buenos dias chicos, tengo una duda y no encuentro nada en documentacion de PDO.
Hasta el momento para sacar un valor siempre hago lo siguente

$stmt = $dbh->prepare("SELECT something from algo
WHERE id = :algoId");
try {
$stmt->execute(array(':algoId' => $this -> id));
foreach ($stmt as $value) {
$this -> something = $value['something '];
}
}

Esto esta muy bien cuando tienes que seleccionar varios campos dentro de una o varias tablas. Pero si estas buscando un solo campo y un unico valor parece algo absurdo hacer un foreach.
ALguien sabe si existe algun metodo directo de sacar este valor, o bien setear la salida de resultado de un select como un valor y no como un array?

Gracias a todos.
  #2 (permalink)  
Antiguo 29/04/2009, 15:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: PDO select

Puedes usar PDOStatement::fetch para obtener la fila y asi obtener el primer valor.

Saludos.
  #3 (permalink)  
Antiguo 30/04/2009, 01:09
 
Fecha de Ingreso: septiembre-2006
Mensajes: 349
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: PDO select

Gracias! Segun documentacion solo se puede setear la salida de resultado como un array o objeto. !Seguiremos utilizando foreach...
  #4 (permalink)  
Antiguo 30/04/2009, 09:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: PDO select

Si usas PDO::FETCH_NUM, te regresa un array, y ese lo puedes exportar sencillamente:
Código php:
Ver original
  1. $result = $stmt->fetch(PDO::FETCH_NUM);
  2. $var = $result[0];

Saludos.
  #5 (permalink)  
Antiguo 01/05/2009, 02:17
 
Fecha de Ingreso: septiembre-2006
Mensajes: 349
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: PDO select

Gracias GatorV!

No deja de ser un array en todo caso. Quizas una consulta sql por defecto no debe devolver un unico dato, pero en la vida real tantas veces necesitamos consultar un dato en concreto.

Muchissimas gracias por auyda.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:11.