Foros del Web » Programando para Internet » PHP »

error en un script muy raro

Estas en el tema de error en un script muy raro en el foro de PHP en Foros del Web. hola tengo este script Código PHP: <?php class  Inlinecms  {     public  $DBOR ;     public  $autoid ;     public  $type ;     public  $id ;     public  $name ; ...
  #1 (permalink)  
Antiguo 28/09/2011, 15:01
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años
Puntos: 8
error en un script muy raro

hola tengo este script

Código PHP:
<?php
class Inlinecms {
    public 
$DBOR;

    public 
$autoid;
    public 
$type;
    public 
$id;
    public 
$name;
    public 
$value;
    public 
$date;
    public 
$status;    
    public 
$lang;    
    
    public function 
__construct() {
        try {
        
        
$instance = new PDO("mysql:localhost;dbname=db63542_dev""root""ushuai222");
        
$instance->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);
        } catch(
PDOException $e) {    
            echo 
$e->getMessage();
        }
        
$this->DBOR $instance;
    }
    
    public function 
setCmsinline() {
        try {
            
$query "INSERT INTO cmsinline ( 
                      type, 
                      id, 
                      name, 
                      value, 
                      date, 
                      status,
                      lang
            ) VALUES (
                '"
.addslashes($this->type)."',
                '"
.addslashes($this->id)."',
                '"
.addslashes($this->name)."',
                '"
.addslashes($this->value)."',
                now(),
                0,
                '"
.addslashes($this->lang)."'
            )"
;
            
$this->DBOR->setAttribute(PDO::MYSQL_ATTR_DIRECT_QUERYfalse);
            
$sth $this->DBOR->prepare($query);
            
$sth->execute();
            
$this->autoid $this->DBOR->lastInsertId();
        } catch(
PDOException $e) {    
            echo 
$e->getMessage();
        } 
        return 
$this->autoid;
    }
    
    public function 
getCmsinlineByType() {
            
$return = array();
        
$query "SELECT * FROM cmsinline WHERE type = '".$this->type."' AND status = 0 AND lang = '".$this->lang."'";
        
$sth $this->DBOR->prepare($query);  
        
$sth->execute();
        while (
$result $sth->fetch(PDO::FETCH_OBJ))
            
$return[$result->id][$result->name] = $result;
        return 
$return;
    }
    
    public function 
getNextId() {
        
$query "SELECT max(id) as id FROM cmsinline WHERE status = 0";
        
$sth $this->DBOR->prepare($query);  
        
$sth->execute();
        
$result $sth->fetch(PDO::FETCH_OBJ);
        return (
$result->id 1);
    }
    
    public function 
updateCmsinline() {
        try {
            
$query "UPDATE cmsinline SET value = '".addslashes($this->value)."', date=now() WHERE id='".addslashes($this->id)."' AND type='".addslashes($this->type)."' AND name='".addslashes($this->name)."' AND status='0' ";
            
$sth $this->DBOR->prepare($query);  
            
$sth->execute();    
        } catch(
PDOException $e) {    
            echo 
$e->getMessage();
        }     
    }
    
    public function 
deleteCmsinline() {
        try {
            
$query "UPDATE cmsinline SET status = '".addslashes($this->status)."', date=now() WHERE id='".addslashes($this->id)."'";
            
$sth $this->DBOR->prepare($query);  
            
$sth->execute();    
        } catch(
PDOException $e) {    
            echo 
$e->getMessage();
        }     
    }
}
?>
pero no se que pasa que cuando lo ejecuto me da el siguiente error

Código HTML:
could not find driver
Fatal error:  Call to a member function prepare() on a non-object in C:\AppServ\www\vinamar\inlinecms.class.php on line 57
ALGUIEN ME PUEDE ECHAR UN CABLE?
  #2 (permalink)  
Antiguo 28/09/2011, 15:24
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 10 meses
Puntos: 394
Respuesta: error en un script muy raro

Eso no tiene nada de raro, estas utilizando un ODBC que se llama PDO y para que te funcione debes entrar al PHP.INI y descomentar la linea que dice:

extension=php_pdo_mysql.dll

En PHP 5, para activarlas quitale el ; antes de la linea, reinicia y prueba nuevamente.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 28/09/2011, 15:29
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 7 meses
Puntos: 2237
Respuesta: error en un script muy raro

Resulta que PDO no se conecto correctamente a la base de datos, al parecer porque la libreria no esta configurada para MySQL, si tienes PHP menor a 5.3, tal vez necesites leer esto: http://www.php.net/manual/es/pdo.installation.php
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 28/09/2011, 16:10
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años
Puntos: 8
Respuesta: error en un script muy raro

ya active la librería pero ahora me escupe este error


Código HTML:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected' in C:\AppServ\www\vinamar\inlinecms.class.php:58 Stack trace: #0 C:\AppServ\www\vinamar\inlinecms.class.php(58): PDOStatement->execute() #1 C:\AppServ\www\vinamar\head.inc.php(34): Inlinecms->getCmsinlineByType() #2 C:\AppServ\www\vinamar\index.php(1): include_once('C:\AppServ\www\...') #3 {main} thrown inC:\AppServ\www\vinamar\inlinecms.class.php on line 58
  #5 (permalink)  
Antiguo 28/09/2011, 22:34
Avatar de renzo1129  
Fecha de Ingreso: septiembre-2011
Ubicación: Lambayeque
Mensajes: 3
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: error en un script muy raro

luego de quitarle el ; reinicia el apache y el mysql(Panel de control/Herramientas Administrativas/Servicios y reinicias apache y mysql ) .. :)
  #6 (permalink)  
Antiguo 29/09/2011, 11:13
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 7 meses
Puntos: 2237
Respuesta: error en un script muy raro

Cita:
Invalid catalog name: 1046 No database selected
El error se refiere a que no seleccionaste una base de datos... o no existe?
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: mysql, raro
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 14:23.