PHP - Error Seleccionando la Base de Datos

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

Error Seleccionando la Base de Datos

Publicado por Albert (49 intervenciones) el 21/11/2020 12:03:49
Hola chic@s:

Hasta el día de ayer tenia instalado el AppServ 8.5.0 con PHP 5 y mi conexión con la Base de Datos me funcionaba perfectamente. Me di cuenta que con el PHP 5 me quedaba obsoleto en muchas expresiones y como mi proyecto lo subiré al hosting de WordPress.com en un futuro, decidí actualizar mi servidor al AppServ 9.3.0 con el PHP 7.3.10

Al descargar el AppServ 9.3.0 lo instalé sobre el AppServ 8.5.0 y vi que me dio algunos avisos de archivos que no podía sobreescribir, pero no le di importancia porque el nuevo servidor se instalo y el index.php parecia correcto y mi localhost seguía intacto. Pero, probando mi código me di cuenta de que nos me mostraba las "Query", y era extraño porque hasta el momento, me funcionaba.

Hoy he decidido desinstalar el AppServ 8.5.0 e instalar de nuevo el AppServ 9.3.0 (y no me ha mostrado ningún error en la instalación). He creado la base de datos de nuevo, incluso con otro nombre, he creado de nuevo mi tabla de usuarios y he probado mi Conect_BD.php y me conecta con el administrador MySQL pero no con la Base de Datos ... y no se que puede estar pasando, porque el código funciona!! :-(

conexion_BD


¿Os ha pasado esto alguna vez?, ¿me podéis orientar, por favor?

Un saludo
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 joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Error Seleccionando la Base de Datos

Publicado por joel (1269 intervenciones) el 21/11/2020 21:04:51
Puede ser que no tengas la librería habilitada??

Revisa el archivo php.ini que tengas habilitada: extension=mysqli
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 Albert
Val: 165
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error Seleccionando la Base de Datos

Publicado por Albert (49 intervenciones) el 21/11/2020 21:23:51
¿en que ruta esta el php.ini? y lo puedo abrir con el eclipse o el homesite sin problemas??
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 Albert
Val: 165
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error Seleccionando la Base de Datos

Publicado por Albert (49 intervenciones) el 21/11/2020 21:29:10
Si, si la tengo habilitada, lo acabo de comprobar. Además tengo instalado el AppServ 9.3.0.
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 Albert
Val: 165
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error Seleccionando la Base de Datos

Publicado por Albert (49 intervenciones) el 21/11/2020 21:52:50
La Base de Datos existe y puedo hacer consultas desde el administrador. No entiendo porque no me la detecta desde código PHP


mysql_admin
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 joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Error Seleccionando la Base de Datos

Publicado por joel (1269 intervenciones) el 25/11/2020 11:09:34
Albert, exactamente que error te da?
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 Albert
Val: 165
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error Seleccionando la Base de Datos

Publicado por Albert (49 intervenciones) el 25/11/2020 11:18:37
Este es el formulario:


secuencia_1


Este es el 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
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
<title>Ejemplo PHP para Buscar Registro</title>
	<head><link rel="stylesheet" type="text/css" href="Estilos.css"></head>
</head>
<body>
<?php
	include ("conec.php");
	$con = Conectarse();
	if (!empty($_POST["usuario"])) {
		$usuario = $_POST["usuario"];
		$Sql = "SELECT id_usuario FROM usuarios WHERE usuario = '$usuario'";
		echo $Sql;
		$result = mysqli_query($Sql,$con);
		} else if ($usuario != $_POST["usuario"]) {
				   echo "No se encuentra registro con este nombre";
				   exit ();
	}
 
?>
<br>
<table border=1 cellspacing=1 cellpadding=1>
<tr>
	<td>&nbsp;Usuario&nbsp;</td>
	<td>&nbsp;Email&nbsp;</td>
	<td>&nbsp;Clave&nbsp;</td>
</tr>
<form name="modificar" method="post" action="modifica.php" enctype="multipart/form-data">
<?php
 
    if (!empty($result)) {
 
          while ($row = mysqli_fetch_array($result)) {
 
		  printf ("<tr><td>&nbsp;<input type='text' name='usuario' size='20' maxlength='30' value='%s'>&nbsp;</td>
		  <td>&nbsp;<input type='text' name='email' size='20' maxlength='30' value='%s'>&nbsp;</td>
		  <td>&nbsp;<input type='text' name='clave' size='12' maxlength='12' value='%s'>&nbsp;</td></tr>",
		  $row["usuario"],$row["email"],$row["clave"]);
 
		  }
		  mysqli_free_result($result);
        } else {
        echo "Se ha producido un error en el volcado de datos";
    }
 
   // while ($row = mysqli_fetch_array($result)) {
 
     //   printf ("%s","%s","%s",$row["usuario"],$row["email"],$row["clave"]);
  //  }
  //  mysqli_free_result($result);
 
?>
<tr><td><input type='submit' value='Grabar'></td></tr>
</form>
 
</body>
</html>

Y este es el error que me muestra:


error_result


La SELECT me la hace, eso no hay duda, porque lo he comprobado desde MySQLadmin y desde consola, pero parece ser que $result viene vacia y algo pasa en el "while", pero no sé como hacer un "for" para ver si me muestra los elementos de la array (aquí estoy un poco perdido) :-(
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 Albert
Val: 165
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error Seleccionando la Base de Datos

Publicado por Albert (49 intervenciones) el 25/11/2020 12:00:59
Pero, es que tampoco me funciona en otros ejemplos que tengo, como en la insercción de registros:

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
	include("conec.php");
	$con = Conectarse();
	$result = mysqli_query("SELECT * FROM usuarios", $con);
	echo $result;
?>
<table border=1 cellspacing=1 cellpadding=1>
<tr>
	<td>&nbsp;Usuario:&nbsp;</td>
	<td>&nbsp;Email:&nbsp;</td>
	<td>&nbsp;Password:&nbsp;</td>
</tr>
<?php
    if (!empty($result)) {
 
	   while ($row = mysqli_fetch_array($result)) {
		  printf ("<tr><td>&nbsp;%s</td><td>&nbsp;%s&nbsp;</td><td>&nbsp;%s&nbsp;</td></tr>",
		  $row["usuario"],$row["email"],$row["clave"]);
		  }
 
		mysqli_free_result($result);
 
        } else {
		    echo "Se ha producido un error en el volcado de datos";
	}
 
?>


sql_consola_2


Como se puede ver la conexión con la BD es correcta. La "while" es correcta en cuanto a sintaxis para php 7 ??
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

Error Seleccionando la Base de Datos

Publicado por nacho esviza (1 intervención) el 25/11/2020 12:09:41
Esta línea:
1
mysqli_query("SELECT * FROM usuarios", $con);

Probala como:
1
mysqli_query( $con, "SELECT * FROM usuarios");
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 Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Error Seleccionando la Base de Datos

Publicado por Mauro (1037 intervenciones) el 25/11/2020 15:21:27
Puede ser que el usuario con el que te estás conectando desde php sea diferente del que usa phpMyAdmin y que el primero no tenga permisos suficientes sobre la db
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 Albert
Val: 165
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error Seleccionando la Base de Datos

Publicado por Albert (49 intervenciones) el 25/11/2020 17:30:20
Es el mismo Mauro, no utilizo otro. En todo caso volveré a revisar el PHP.ini ¿Sale ahí?
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 Albert
Val: 165
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error Seleccionando la Base de Datos

Publicado por Albert (49 intervenciones) el 25/11/2020 16:05:45
Bueno parece ser que de esta manera me da los resultados:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@ $con=mysqli_connect("localhost","root","wallace1312","tallerphp");
 
    if (mysqli_connect_errno()) {
        echo "Erro al conectar con MySQL: " . mysqli_connect_error();
        exit;
    }
 
    // Devolver el nombre de Base de Datos
    if ($result = mysqli_query($con, "SELECT DATABASE()")) {
        $row = mysqli_fetch_row($result);
        echo "Los datos mostrados son: " . $row[0];
        mysqli_free_result($result);
        } else {
            die(mysqli_error($con));
    }
 
    $query = "SELECT * FROM usuarios";
    $result = mysqli_query($con, $query) or die ("\n Consulta fallida");
    $total_rows = mysqli_num_rows($result);
    echo "\n La Tabla usuarios tiene: $total_rows registros";
 
    // Cerramos la conexión
    mysqli_close($con);


select_ok


Pero si deseo aislarlo en una función para utilizar la conexión con un include, no me devuelve el $con

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
	function Conectarse() {
 
	    @ $con=mysqli_connect("localhost","root","wallace1312","tallerphp");
 
	    if (mysqli_connect_errno()) {
	        echo "Erro al conectar con MySQL: " . mysqli_connect_error();
	        exit;
	       }
	       return $con;
	}
 
	/*	if (!($con = mysqli_connect("localhost", "root", "wallace1312", "tallerphp"))) {
			exit();
			}
			return $con;
	} */
 
	   $query = "SELECT * FROM usuarios";
	   $result = mysqli_query($con, $query) or die ("\n Consulta fallida");
	   $total_rows = mysqli_num_rows($result);
	   echo "\n La Tabla usuarios tiene: $total_rows registros";
 
?>

Me salta el mensaje de "Consulta Fallida"
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 Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Error Seleccionando la Base de Datos

Publicado por Mauro (1037 intervenciones) el 25/11/2020 21:02:24
El problema aquí es que no estás llamando nunca a la función Conectarse.

La variable $con que se define dentro de la función es local.

En todo caso puedes hacer:

1
$con = Conectarse();

Y luego hacer la consulta.

De cualquier modo, te recomiendo no utilizar el símbolo "@"... eso es simplemente tapar el síntoma, pero en realidad no resuelve nada.
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 Albert
Val: 165
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error Seleccionando la Base de Datos

Publicado por Albert (49 intervenciones) el 25/11/2020 21:32:51
Al final lo conseguí :

1
2
3
4
5
6
7
8
9
10
11
12
<?php
 
    include ("conec.php");
    $con = Conectarse();
 
    $query = "SELECT * FROM usuarios";
    $result = mysqli_query($con, $query) or die ("\n Consulta fallida");
    $total_rows = mysqli_num_rows($result);
    echo "\n La Tabla usuarios tiene: $total_rows registros";
 
 
?>



Me muestra la SELECT. Muchisimas gracias. Si lo del "@" ya he visto que no sirve de mucho ;-)

select_ok_2
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 Albert
Val: 165
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error Seleccionando la Base de Datos

Publicado por Albert (49 intervenciones) el 25/11/2020 23:32:15
Por fin ..... Gracias chicos y perdonad por el mareo !!

result


Nacho, al final el tema de poner $con como primer parámetro en la variable de la query, era la clave!!

Gracias de verdad ... poco a poco, voy desgranando los obstaculos.

Un saludo ;-)
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 Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Error Seleccionando la Base de Datos

Publicado por Mauro (1037 intervenciones) el 26/11/2020 12:56:12
Buenísimo! Me alegra que hayas podido resolverlo.

Si te quedó alguna duda consulta nomás :)
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 Albert
Val: 165
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error Seleccionando la Base de Datos

Publicado por Albert (49 intervenciones) el 26/11/2020 23:07:35
Gracias Mauro, jejeje ahora justo tengo un problema con le tema de Borrar registros...pero no quiero molestar de momento. Intentaré ver que puede pasar. Creo que debe estar en el tema de la Id_usuario. ;-)
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 Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Error Seleccionando la Base de Datos

Publicado por Mauro (1037 intervenciones) el 27/11/2020 14:47:14
Ok, no hay problema. En todo caso te sugiero abrir un nuevo tema para verlo (y tal vez poner un link a este por contexto).

Suerte!
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