PHP - Problemas al instanciar una clase de conexion con PDO

 
Vista:
sin imagen de perfil
Val: 12
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problemas al instanciar una clase de conexion con PDO

Publicado por Marco Antonio (1 intervención) el 07/10/2020 00:08:50
Buen dia. Por favor agradecere mucho me puedan ayudar. He buscado informacion y no logro dar con la solucion.
He creado una clase para la conexion usando PDO.
Al momento de instanciar la clase en otro archivo para insertar registros a la BD, y usar el metodo PREPARE() de PDO. Me sale este mensaje.

Fatal error: Uncaught Error: Call to undefined method conectar::prepare() in C:\wamp64\www\SistemaPertIng\clases\OrdenTrabajoEnel.php on line 9
( ! ) Error: Call to undefined method conectar::prepare() in C:\wamp64\www\SistemaPertIng\clases\OrdenTrabajoEnel.php on line 9
Call Stack[/indent]


No comprendo porque el nuevo objeto que instancie, no hereda todas las propiedades del PDO, en este caso PREPARE, que pienso que por ello me sale el error.
Muchas gracias por su ayuda.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
    class conectar{
        private $sis_host="localhost";
        private $sis_port="3308";
        private $sis_bd="siscontrol";
        private $sis_usuario="root";
        private $sis_clave="";
        public function conexion(){
            try {
                $conexion = new PDO('mysql:host=' . $this->sis_host . '; port=' . $this->sis_port . '; dbname=' . $this->sis_bd , $this->sis_usuario, $this->sis_clave);
                //$conexion = new PDO("mysql:host=localhostt; port=3308; dbname=siscontrol","root","");
                $conexion->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
                $conexion->exec("SET CHARACTER SET UTF8");
            } catch (Exception $e) {
                die("Error al conectar: " . $e->getMessage());
                echo("En el archivo: " . $e->getFile() . "Linea : " . $e->getLine());
            }
            return $conexion;
        }
    }
?>


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
    require_once "../../clases/Conexion.php";
    require_once "../../clases/OrdenTrabajoEnel.php";
 
    $obj = new OrdenTrabajoEnel();
 
    $datos = array();
 
    $datos[0]=$_GET["num_ot"];
    $datos[1]=$_GET["estado"];
    $datos[2]=$_GET["direccion"];
    $datos[3]=$_GET["distrito"];
    $datos[4]=$_GET["proyecto"];
    $datos[5]=$_GET["descripcion"];
    $datos[6]=$_GET["cliente"];
    $datos[7]=$_GET["tipo_obra"];
    $datos[8]=$_GET["fecha_asign"];
    $datos[9]=$_GET["fecha_ini_prog"];
    $datos[10]=$_GET["fecha_fin_prog"];
    $datos[11]=$_GET["mano_obra_proy"];
    $datos[12]=$_GET["factor_mo"];
    $datos[13]=$_GET["observacion"];
    $datos[14]=$_GET["inspector"];
 
    $obj->insertaOtEnel($datos);
 
?>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class OrdenTrabajoEnel{
        public function insertaOtEnel($datos){
 
            $cnx = new conectar();
            $cnx->conexion();
            $sql="INSERT INTO ord_trab_enel (num_ot,estado,direccion,distrito,proyecto,descripcion,cliente,tipo_obra,fecha_asign,fecha_ini_prog,fecha_fin_prog,mano_obra_proy,factor_mo,observacion,inspector)"
                 . "VALUES (:ot,:est,:dir,:dis,:proy,:desc,:cli,:tip,:fasi,:fini,:ffin,:mo,:fac,:obs,:ins)";
            $consulta=$cnx->prepare($sql);
            $consulta->execute(array(
                                    ":ot"=>$datos[0],
                                    ":est"=>$datos[1],
                                    ":dir"=>$datos[2],
                                    ":dis"=>$datos[3],
                                    ":proy"=>$datos[4],
                                    ":desc"=>$datos[5],
                                    ":cli"=>$datos[6],
                                    ":tip"=>$datos[7],
                                    ":fasi"=>$datos[8],
                                    ":fini"=>$datos[9],
                                    ":ffin"=>$datos[10],
                                    ":mo"=>$datos[11],
                                    ":fac"=>$datos[12],
                                    ":obs"=>$datos[13],
                                    ":ins"=>$datos[14]
                                    ));
 
        }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder