Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

soy novato --> execute()

Estas en el tema de soy novato --> execute() en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola a todos, Soy novato en esto de PHP orientado a objetos... Me han pasado una web medio hecha, pero hay una cosa que no ...
  #1 (permalink)  
Antiguo 12/09/2008, 09:04
 
Fecha de Ingreso: febrero-2007
Ubicación: Valencia
Mensajes: 457
Antigüedad: 17 años, 2 meses
Puntos: 0
soy novato --> execute()

Hola a todos,

Soy novato en esto de PHP orientado a objetos...

Me han pasado una web medio hecha, pero hay una cosa que no me sale.

En este codigo:

Código PHP:

$f 
Env::db_qaf("SELECT * FROM foto_portada ORDER BY rand() LIMIT 1");


    public static function 
db_conectar(){
        try {
            if(
self::$dbh == null){
                
self::$dbh = new PDO("mysql:host=localhost;port=8443;dbname=foro;""admin""de12345");
            }
            return 
true;
        }catch(
Exception $ex){
            echo 
$ex;
            return 
false;
        }
    }

    
// QueryAndFetch -> Devuelve un array con el valor de todas las columnas del primer registro
    
public static function db_qaf($query$args=null$returnValue null){
        
$stmt self::db()->prepare($query);        
        if(!
$stmt->execute($args)) return $returnValue;
        if(!
$r $stmt->fetch()) return $returnValue;
        return 
$r;
    } 
No entiendo para que sirve: if(!$stmt->execute($args)) return $returnValue; Si lo pongo me para la pagina y no carga, si lo quito va bien la pagina... ¿Alguien me puede decir si hay algun error o algo?

Un saludo,
  #2 (permalink)  
Antiguo 12/09/2008, 15:05
Avatar de chitoso  
Fecha de Ingreso: mayo-2008
Ubicación: Montevideo, Uruguay
Mensajes: 205
Antigüedad: 15 años, 11 meses
Puntos: 5
Respuesta: soy novato --> execute()

Primero que nada, aumentá el nivel de reporte de errores por pantalla, para ver qué error da.
Código PHP:
ini_set('display_errors',1);
error_reporting(E_ALL|E_STRICT); 
Segundo, el código la verdad esta bastante feo

Fijate de poner una excepción o algo cuando pasa por la línea que da error. Por ejemplo:

Código PHP:
try{
                
$stmt->execute();
                
$link null;
            }
            catch(
PDOException $ex){
                throw new 
Exception($ex->getMessage());
            } 
Lo que hace $stmt->execute() es ejecutar la consulta.
Podes hacer así también para que te de los datos en una variable:
$row = $stmt->fetch(PDO::FETCH_OBJ);

luego haces $row->id, siendo id el nombre de una columna de la tabla.

Saludos y suerte!
__________________
Pasión por la Música
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 06:44.