ayuda con conexion postgreSQL

RESETSOREL

Bovino maduro
#1
hola amigos buen día realmente no eh hecho nada en mucho tiempo ya hora que ando haciendo un proyecto me ando complicando la existencia bueno para realizar la conexión a una base datos en postgres.

bueno mi problema es que tengo dos archivos para hacer la conexión
el primero se llama conexion.php
y contiene los iguiente

<?php
class conexion{
function conexion(){


$conexion_bd = pg_connect('host=localhost dbname=prueba user=postgres password=xxxxxxx')or die('No pudo conectarse: '.pg_last_error());

//Realizar una consulta SQL

/*$consulta = "SELECT * FROM teatro where estado";

$resultado = pg_query($consulta) or die('Consulta fallida: ' . pg_last_error());
echo "<table>\n";
while ($linea = pg_fetch_array($resultado, null, PGSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($linea as $valor_col) {
echo "\t\t<td>$valor_col</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";*/

}
function closeconexion(){
// Cerrar conexion
pg_close($conexion_bd);
}
}
?>
y el segundo se llama bd.php que contiene lo siguiente

<?php
include("conexion.php");
$con = new conexion();
$con.closeconexion();
?>

ahora bueno, no si este correcta la llamada a la función de cerrar la conexión por que ahí es donde me manda el error siguiente:

Fatal error: Call to undefined function closeconexion() in C:\xampp\htdocs\bd.php on line 4

y no se si la llamada a la función este correcta o que sea, por que si se conecta a la BD pero no cierra la conexión de ante mano muchas gracias y que tengan un muy buen día jah bless!!

buena vibra a todos!!
 

novos

Bovino maduro
#2
Que onda haber según yo xD (igual si estoy mal disculpa,maneje solo 1 vez maneje PHP) pero creo que la visibilidad de la variable $conexion_bd es lo que causa ese error.

Cuando haces una conexión pues si jala y todo bien por que la variable esta como local y le pertenece a la función conexión, pero cuando cierras la conexión, y llamas a closeconecion pues esta función no tiene visibilidad de esa variable.

a menos que la pongas así..

Código:
class conexion{

    private $conexion_bd    

function conexion(){
....
.....
}

function closeconexion(){
......
......
}
}
o de alguna otra manera;

Saludos!:vientos:
 

RESETSOREL

Bovino maduro
#3
Que onda haber según yo xD (igual si estoy mal disculpa,maneje solo 1 vez maneje PHP) pero creo que la visibilidad de la variable $conexion_bd es lo que causa ese error.

Cuando haces una conexión pues si jala y todo bien por que la variable esta como local y le pertenece a la función conexión, pero cuando cierras la conexión, y llamas a closeconecion pues esta función no tiene visibilidad de esa variable.

a menos que la pongas así..

Código:
class conexion{

    private $conexion_bd    

function conexion(){
....
.....
}

function closeconexion(){
......
......
}
}
o de alguna otra manera;

Saludos!:vientos:
gracias amigo lo cheque después de un buen zape que me dio un amigo, :p para no variar, pero me sigue mandando el error aunque si tienes mucha razón, Seguiré buscándole la solución
 

RESETSOREL

Bovino maduro
#4
bueno ya encontré cual jue!! la bronca el chiste estaba en la llamada aunque ya lo había intentado de esta forma pero en todo lo que había leído se enviaban parámetros pero en fin lo había intentado y no había querido jalar pero ahora ya jalo, la llamada a la función era de esta manera

<?php
include("conexion.php");
$con = new conexion();
$con->closeconexion(); //<------------
?>

y bueno en mi clase en la función de cerrado queda así

function closeconexion(){
pg_close();
}


lo dejo por si alguien llega a tener alguna dudita en algún futuro y bueno gracias amigo novos que comentaste saludos
 
Arriba