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.
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


0