PHP - CONEXION PDO Y MYSQLI

 
Vista:
Imágen de perfil de esmeralda
Val: 44
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

CONEXION PDO Y MYSQLI

Publicado por esmeralda (20 intervenciones) el 05/03/2019 13:10:22
Hola buenos dias!

Espero me puedan ayudar, es error en la conexión por diferencia entre PDO Y MYSQLI el resto de los archivos están con esta conexión y jala bien aun no aprendo a cambiarla para que funcione.



ARCHIVO CONECTAR

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
 
class Conectar{
 
public static function conexion(){
try{
 
$conexion=new PDO('mysql:host=64.10.155.188; dbname=tuinmueb_agod','tuinmueb_smeagor','Panchita1346');
$conexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$conexion->exec("SET CHARACTER SET UTF8");
 
}catch(Exception $e){
 
die("Error" .$e->getMessage());
echo "Linea del error" . $e->getLine();
}
 
return $conexion;
}
}
 
?>



ARCHIVO PARA SUBIR LAS IMAGENES ESTE ES EL QUE DEBO CAMBIAR A PDO

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
28
29
30
31
32
33
require("conectar.php");
 
$conexion= mysqli_connect("$db_host", "$db_usuario", "$db_contra");
	if(mysqli_connect_errno()){
		echo "Ha ocurrido un error";
		exit();
	}
 
	mysqli_select_db($conexion,$db_nombre) or die ("No se encuentra la base de base de datos corrije tu error");
	mysqli_set_charset($conexion,"utf8");
 
	$archivo_objetivo=fopen($carpeta_destino . $nombre_archivo, "r"); //r SIGNIFICA QUE ES SOLO DE LECTURA
	//fopen ABRE UN FLUJO DE DATOS PARA PODER APUNTAR UN ARCHIVO Y DESPUES LEERLO
 
	$contenido=fread($archivo_objetivo, $tamagno_archivo);
	$contenido=addslashes($contenido); //SE LLAMA ESCAPAR A LAS BARRAS INVERTIDAS como que no las toma en cuenta
 
 
	fclose($archivo_objetivo);
 
	$sql="UPDATE CONCILIACION SET IMAGEN=$nombre_archivo' WHERE ID='id'";
 
	$resultado=mysqli_query($conexion, $sql);
 
	if(mysqli_affected_rows($conexion)>0){
 
	echo "Se ha insertado el registro con exito";
	}else{
	echo "No se ha podido ingresar el registro";
	}
 
 
?>
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
Imágen de perfil de Kevin
Val: 87
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

CONEXION PDO Y MYSQLI

Publicado por Kevin (14 intervenciones) el 05/03/2019 14:03:56
Hola Esmeralda, muy buenas.

Primero que todo, puedes simplificar la conexión dejandola de esta manera:

1
2
3
4
5
6
7
8
9
10
11
try{
 
$conexion=new PDO('mysql:host=64.10.155.188; dbname=tuinmueb_agod','tuinmueb_smeagor','Panchita1346');
 
$conexion->exec("SET CHARACTER SET UTF8");
 
}catch(Exception $e){
 
die("Error" .$e->getMessage());
echo "Linea del error" . $e->getLine();
}

Ya luego al momento de cambiar, prueba a poner esto.
Ahí traté de comentar unas líneas para que entiendas mejor.
Si algo no te funciona, me dices :)

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
28
29
30
31
32
33
34
<?php
 
	require("conectar.php");
 
	if($conexion == true){//Si la conexión fue exitosa... (La variable conexión, es la del archivo "conectar.php")
 
		$archivo_objetivo=fopen($carpeta_destino . $nombre_archivo, "r"); //r SIGNIFICA QUE ES SOLO DE LECTURA
		//fopen ABRE UN FLUJO DE DATOS PARA PODER APUNTAR UN ARCHIVO Y DESPUES LEERLO
 
		$contenido=fread($archivo_objetivo, $tamagno_archivo);
		$contenido=addslashes($contenido); //SE LLAMA ESCAPAR A LAS BARRAS INVERTIDAS como que no las toma en cuenta
 
		fclose($archivo_objetivo);
 
		$sql="UPDATE CONCILIACION SET IMAGEN=? WHERE ID='id'";//El signo de interrogación (?), significa que esta consulta esta preparada para recibir un valor al momento de ejecutarse.
 
		$consulta = $conexion->prepare($sql);//Preparamos la consulta.
 
		$consulta->execute(array($nombre_archivo));//Ejecutamos la consulta y le pasamos la variable con el valor que debe de recibir.
 
		if($consulta->rowCount() >= 1){//Devuelve el número de filas afectadas-
 
			echo "Se ha insertado el registro con exito";
 
		}else{
 
			echo "No se ha podido ingresar el registro";
		}
 
	}else{//Si falló la conexión.
 
		echo "Ha ocurrido un error";
	}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de esmeralda
Val: 44
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

CONEXION PDO Y MYSQLI

Publicado por esmeralda (20 intervenciones) el 05/03/2019 17:44:19
Hola mil gracias por contestar

Ya lo hice pero algo esta mal

Notice: Undefined variable: conexion in /home/tuinmueblecom/public_html/AGOR/modelo/datosArchivos.php on line 29
Ha ocurrido un error

Mira este es el link

http://tu-inmueble.com.mx/AGOR/

Gracias :-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de esmeralda
Val: 44
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

CONEXION PDO Y MYSQLI

Publicado por esmeralda (20 intervenciones) el 05/03/2019 18:05:56
Este es el archivo completo :-/


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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
 
$nombre_archivo=$_FILES['archivo']['name'];
$tipo_archivo=$_FILES['archivo']['type'];
$tamagno_archivo=$_FILES['archivo']['size'];
 
if($tamagno_archivo<=1000000){
 
 
//ruta de la carpeta destino en el servidor
$carpeta_destino=$_SERVER['DOCUMENT_ROOT'] . '/intranet/uploads/';
 
//MOVEMOS LA IMAGEN DEL DIRECTORIO TEMPORAL AL DIRECTORIO ESCOGIDO
 
move_uploaded_file($_FILES['archivo']['tmp_name'],$carpeta_destino.$nombre_archivo);
 
 
}else{
 
	echo"El tamaño es demasiado grande";
 
}
 
require("conectar.php");
$base=conectar::conexion();
 
	if($conexion == true){//Si la conexión fue exitosa... (La variable conexión, es la del archivo "conectar.php")
 
		$archivo_objetivo=fopen($carpeta_destino . $nombre_archivo, "r"); //r SIGNIFICA QUE ES SOLO DE LECTURA
		//fopen ABRE UN FLUJO DE DATOS PARA PODER APUNTAR UN ARCHIVO Y DESPUES LEERLO
 
		$contenido=fread($archivo_objetivo, $tamagno_archivo);
		$contenido=addslashes($contenido); //SE LLAMA ESCAPAR A LAS BARRAS INVERTIDAS como que no las toma en cuenta
 
		fclose($archivo_objetivo);
 
		$sql="UPDATE CONCILIACION SET IMAGEN=? WHERE ID='id'";//El signo de interrogación (?), significa que esta consulta esta preparada para recibir un valor al momento de ejecutarse.
 
		$consulta = $conexion->prepare($sql);//Preparamos la consulta.
 
		$consulta->execute(array($nombre_archivo));//Ejecutamos la consulta y le pasamos la variable con el valor que debe de recibir.
 
		if($consulta->rowCount() >= 1){//Devuelve el número de filas afectadas-
 
			echo "Se ha insertado el registro con exito";
 
		}else{
 
			echo "No se ha podido ingresar el registro";
		}
 
	}else{//Si falló la conexión.
 
		echo "Ha ocurrido un error";
	}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kevin
Val: 87
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

CONEXION PDO Y MYSQLI

Publicado por Kevin (14 intervenciones) el 05/03/2019 20:02:38
Y el archivo de conexión que tal?

Quita esta línea y me dices

1
$base=conectar::conexion();

A mi me funciona de maravilla, ya me comentas como pusiste el archivo de conexión y miramos que tal.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de esmeralda
Val: 44
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

CONEXION PDO Y MYSQLI

Publicado por esmeralda (20 intervenciones) el 05/03/2019 20:32:00
Hola ya elimine la linea pero al intentar cárgalo me sale este error

Notice: Undefined variable: conexion in /home/tuinmueblecom/public_html/AGOR/modelo/datosArchivos.php on line 28
Ha ocurrido un error

LA PAGINA EN DONDE INTENTO CARGAR ES ESTA, podrías darle una revisada :-)? Gracias

http://tu-inmueble.com.mx/AGOR/

No entiendo lo de la variable indefinida :-(

REVISE LA CARPETA INTRANET y las imágenes se están cargando en la carpeta pero envia un error al subirla a la base de datos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kevin
Val: 87
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

CONEXION PDO Y MYSQLI

Publicado por Kevin (14 intervenciones) el 05/03/2019 21:15:02
Me puedes mostrar el archivo de conexión?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de esmeralda
Val: 44
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

CONEXION PDO Y MYSQLI

Publicado por esmeralda (20 intervenciones) el 05/03/2019 22:52:32
Mira elimine las lineas que me comentaste pero sigue mandandome error :-/


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
 
class Conectar{
public static function conexion(){
try{
 
$conexion=new PDO('mysql:host=64.10.155.188; dbname=tuinmueb_agod','tuinmueb_smeagor','Panchita1346');
$conexion->exec("SET CHARACTER SET UTF8");
}catch(Exception $e){
die("Error" .$e->getMessage());
echo "Linea del error" . $e->getLine();
}
return $conexion;
}
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kevin
Val: 87
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

CONEXION PDO Y MYSQLI

Publicado por Kevin (14 intervenciones) el 05/03/2019 22:56:14
Quitale la clase y prueba. Dejalo así tal cual te lo pongo acá:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
try{
 
$conexion=new PDO('mysql:host=64.10.155.188; dbname=tuinmueb_agod','tuinmueb_smeagor','Panchita1346');
 
$conexion->exec("SET CHARACTER SET UTF8");
 
}catch(Exception $e){
 
die("Error" .$e->getMessage());
echo "Linea del error" . $e->getLine();
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de esmeralda
Val: 44
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

CONEXION PDO Y MYSQLI

Publicado por esmeralda (20 intervenciones) el 05/03/2019 23:00:31
Lo hice pero el resto de mis archivos tienen esa clase y tendria que modificar todos, por lo que al eliminar la case ahi me manda un error

Fatal error: Class 'Conectar' not found in /home/tuinmueblecom/public_html/AGOR/modelo/personas_modelo.php on line 9

Hay manera de añadirle la clase al archivo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kevin
Val: 87
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

CONEXION PDO Y MYSQLI

Publicado por Kevin (14 intervenciones) el 05/03/2019 23:20:19
Prueba también a dejarlo así como lo tienes con la clase.
Ahora hay que instanciar esa clase para acceder a la función conexion.

Primero en el archivo de conexión debes de retornar un valor si la conexión salió correcta:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Conectar{
public static function conexion(){
try{
 
$conexion=new PDO('mysql:host=64.10.155.188; dbname=tuinmueb_agod','tuinmueb_smeagor','Panchita1346');
 
$conexion->exec("SET CHARACTER SET UTF8");
 
return true;//Si la conexión salió correcta, retornamos "true"
 
}catch(Exception $e){
 
die("Error" .$e->getMessage());
echo "Linea del error" . $e->getLine();
return false;//Si la conexión salió mal, retornamos "false"
}
}
}
}

Y ya luego al momento de llamar al archivo de conexión, pones esto:

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
28
29
30
31
32
33
34
35
require("conectar.php");
 
$clase_conexion = new Conectar;//Instanciamos la clase.
 
$conexion = $clase->conexion();//llamamos a la función llamada "conexion()", que es la que esta dentro de la clase Conectar
 
	if($conexion){//Si la conexión fue exitosa... (La variable conexión, es la del archivo "conectar.php")
 
		$archivo_objetivo=fopen($carpeta_destino . $nombre_archivo, "r"); //r SIGNIFICA QUE ES SOLO DE LECTURA
		//fopen ABRE UN FLUJO DE DATOS PARA PODER APUNTAR UN ARCHIVO Y DESPUES LEERLO
 
		$contenido=fread($archivo_objetivo, $tamagno_archivo);
		$contenido=addslashes($contenido); //SE LLAMA ESCAPAR A LAS BARRAS INVERTIDAS como que no las toma en cuenta
 
		fclose($archivo_objetivo);
 
		$sql="UPDATE CONCILIACION SET IMAGEN=? WHERE ID='id'";//El signo de interrogación (?), significa que esta consulta esta preparada para recibir un valor al momento de ejecutarse.
 
		$consulta = $conexion->prepare($sql);//Preparamos la consulta.
 
		$consulta->execute(array($nombre_archivo));//Ejecutamos la consulta y le pasamos la variable con el valor que debe de recibir.
 
		if($consulta->rowCount() >= 1){//Devuelve el número de filas afectadas-
 
			echo "Se ha insertado el registro con exito";
 
		}else{
 
			echo "No se ha podido ingresar el registro";
		}
 
	}else{//Si falló la conexión.
 
		echo "Ha ocurrido un error";
	}

Y ya tienes la variable conexión como se supone que debería de funcionar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de esmeralda
Val: 44
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

CONEXION PDO Y MYSQLI

Publicado por esmeralda (20 intervenciones) el 06/03/2019 14:03:14
Hola que crees me sigue mandando error, ojala puedas ayudarme mira te adjunto los archivos tal cual los tengo.

los subi a http://tu-inmueble.com.mx/IMAGEN2/

manda este error

Notice: Undefined variable: clase in /home/tuinmueblecom/public_html/IMAGEN2/datosArchivos.php on line 26

Fatal error: Call to a member function conexion() on null in /home/tuinmueblecom/public_html/IMAGEN2/datosArchivos.php on line 26

Mil gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kevin
Val: 87
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

CONEXION PDO Y MYSQLI

Publicado por Kevin (14 intervenciones) el 06/03/2019 14:16:57
Acá en estas línea estaba mal, estaba llamando una variable que no estaba definida, y por ende no estaba agarrando la clase conexion()

La tenía así:

1
2
3
$clase_conexion = new Conectar;//Instanciamos la clase.
 
$conexion = $clase->conexion();//Estabas llamando a la variable "clase" que estaba indefinida", que es la que esta dentro de la clase Conectar

Ponlo así:

1
2
3
$clase_conexion = new Conectar;//Instanciamos la clase.
 
$conexion = $clase_conexion->conexion();//llamamos a la función llamada "conexion()", que es la que esta dentro de la clase Conectar

Si pasa algo más, por favor escribeme a mi correo para ayudar de una mejor manera
[email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar