MySQL - Convertir de php5 a php7

 
Vista:

Convertir de php5 a php7

Publicado por Xyro (1 intervención) el 23/03/2017 20:01:05
Buenas tardes, necesito un poco de ayuda, y digo un poco porque imagino que quien sepa hacerlo esto es como coser y cantar.

El caso es que tengo un código que hice hace tiempo, mucho tiempo en php para ejecutar consultas de un archivo datos.txt a través de un archivo actualiza.php, pero ahora el servido usa php7 y no me sirve, llevo bastante rato dando vueltas por el manual de mysql y he encontrado las funciones, pero no consigo que funcione.

Dejo pegado el contenido de datos.txt y actualiza.php y si hay alguien que quiere ayudarme quedare agradecido.

datos.txt
1
2
3
4
delete from provincia
INSERT INTO `provincia` ( `id_provincia` , `nombre_provincia` )VALUES ('', 'MADRID')
INSERT INTO `provincia` ( `id_provincia` , `nombre_provincia` )VALUES ('', 'BARCELONA')
INSERT INTO `provincia` ( `id_provincia` , `nombre_provincia` )VALUES ('', 'MALAGA)


actualiza.php
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
$LeerDatos = fopen("datos.txt","r");
 
$host="host";
$usuario="usuarioDB";
$pass="passBD";
$base="NombreBD";
 
 
while(!feof($LeerDatos)){
 
  $datos = fgets($LeerDatos,4096);
 
  $coneccion = mysql_connect($host, $usuario, $pass);
 
  mysql_select_db($base, $coneccion);
 
  $consulta = "".$datos."";
 
  $resultado = mysql_query($consulta, $coneccion);
 
  $registro = mysql_num_rows($resultado);
 
  mysql_close($coneccion);
 
}


Muchas gracias.

Xyro
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder
Imágen de perfil de xve
Val: 545
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Convertir de php5 a php7

Publicado por xve (1151 intervenciones) el 23/03/2017 22:06:18
Hola Xyro, todas las instrucciones que empiezan por mysql_* han desaparecido en PHP 7!!! tendras que cambiar a mysqli_* o PDO

http://php.net/manual/es/function.mysql-connect.php
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

Convertir de php5 a php7

Publicado por Xyro (6 intervenciones) el 23/03/2017 22:21:17
Buenas, gracias por contestar, cuando he estado mirando el manual, lo primero que hice fue sustituir mysql por msqli, pero me da muchos errores.

Por eso pido ayuda, por que con los ejemplos de php.net, no he sido capaz de hacerlo funcionar.

Gracias.
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 xve
Val: 545
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Convertir de php5 a php7

Publicado por xve (1151 intervenciones) el 24/03/2017 08:05:38
Que errores te da? como lo has hecho?
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

Convertir de php5 a php7

Publicado por Xyro (6 intervenciones) el 24/03/2017 10:16:49
Gracias xve por el interés, abajo te pego las líneas de error que me da el archivo.

1º. mysql

Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /actualiza.php:13 Stack trace: #0 {main} thrown in /actualiza.php on line 13

2º. mysqli

Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in /actualiza.php on line 14

Fatal error: Uncaught Error: Call to undefined function mysqil_query() in /actualiza.php:16 Stack trace: #0 {main} thrown in /actualiza.php on line 16

Esos son lo dos tipo de errores, el primero con el código original que yo tenía, y el segundo cambiando myslq por myslqi.

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

Convertir de php5 a php7

Publicado por Xyro (6 intervenciones) el 24/03/2017 13:08:53
Perdón, en el 2º caso hay una errata en la función, pego el error tras corregir la errata.


Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /actualiza.php on line 17

Pego también el código del archivo actualiza.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?
 
$LeerDatos = fopen("datos.txt","r");
 
$host="localhost";
$usuario="usuario";
$pass="pass";
$base="base";
 
while(!feof($LeerDatos)){
  $datos = fgets($LeerDatos,4096);
	$coneccion = mysqli_connect($host, $usuario, $pass);
	mysqli_select_db($coneccion, $base);
	$consulta = "".$datos."";
	$resultado = mysqli_query($coneccion, $consulta);
	$registro = mysqli_num_rows($resultado);
	mysqli_close($coneccion);
}
 
?>

Graciasssss.
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 xve
Val: 545
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Convertir de php5 a php7

Publicado por xve (1151 intervenciones) el 24/03/2017 17:36:29
Hola Xyro, el problema lo tienes en la consulta... que es $datos??
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

Convertir de php5 a php7

Publicado por Xyro (6 intervenciones) el 24/03/2017 18:44:32
$datos es la línea de del código sql que quiero que se ejecute en la consulta, lo extraigo de un archivo de texto que tiene varias líneas.

archivo datos.txt

1
2
3
4
delete from provincia
INSERT INTO `provincia` ( `id_provincia` , `nombre_provincia` )VALUES ('', 'MADRID')
INSERT INTO `provincia` ( `id_provincia` , `nombre_provincia` )VALUES ('', 'BARCELONA')
INSERT INTO `provincia` ( `id_provincia` , `nombre_provincia` )VALUES ('', 'MALAGA')

Se supone que actuliza.php lee el archivo datos.txt y lee línea por línea y ejecuta una consulta con cada una de ellas.

php5 si funciona pero en php7 no.
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 xve
Val: 545
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Convertir de php5 a php7

Publicado por xve (1151 intervenciones) el 25/03/2017 08:00:22
Segun el código que me has mostrado arriba, la variable $datos no existe!!! donde asignas el contenido del archivo txt a la variable $datos??

prueba a hacer un:
1
echo $datos;
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

Convertir de php5 a php7

Publicado por Xyro (6 intervenciones) el 25/03/2017 08:51:38
En la línea 11 $datos va cogiendo valores.


1
$datos = fgets($LeerDatos,4096);
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 xve
Val: 545
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Convertir de php5 a php7

Publicado por xve (1151 intervenciones) el 26/03/2017 11:19:17
Mil disculpas Xyro, no lo vi!!!!

He probado tu código y he visto varios posibles errores... lo he modificado para que funcione correctamente.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$gestor = fopen("datos.txt","r");
 
$host="localhost";
$usuario="all";
$pass="all";
$base="test";
$coneccion = mysqli_connect($host, $usuario, $pass);
mysqli_select_db($coneccion, $base);
 
while(($consulta = fgets($gestor)) !== false){
	$resultado = mysqli_query($coneccion, $consulta);
}
mysqli_close($coneccion);
fclose($gestor);
?>

Coméntanos, ok?
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

Convertir de php5 a php7

Publicado por Xyro (6 intervenciones) el 28/03/2017 17:51:51
xve, ¡muchas gracias funciona!, no lo conseguía, y ya he visto los fallos, gracias nuevamente.
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
sin imagen de perfil
Val: 3
Ha aumentado su posición en 15 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Convertir de php5 a php7

Publicado por jose del carmen (1 intervención) el 16/03/2020 00:02:22
hola que tal, yo tengo un problema similar pero en la conexion de base de datos, sera que me puedas ayudar?
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