PHP - Me pueden mirar este codigo?

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

Me pueden mirar este codigo?

Publicado por Marco (3 intervenciones) el 23/12/2016 22:14:44
He recibido un poco de PHP básico en la escuela pero cuando terminó la asignatura no nos habían mostrado mucho que sea aplicable. Así que estoy aprendiendo por mi cuenta (por lo que puede que esto os resulte un tanto basico XD)

El caso es que para obtener datos en el php des de la base de datos seguía un tutorial en el que lo hacían tal que así:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
    if(isset($_POST['btn1'])){
        include("abrir_conexion.php");
 
        $nombre = $_POST['nombre'];
 
        $resultados = mysqli_query($conexion, "SELECT * FROM $tabla_db1");
        while($consulta = mysqli_fetch_array($resultados)){
            echo $consulta['nombre'];
        }
        }
?>


Y funciona bién, me da todos los nombres de la columna "nombre"
Pero cuando quise probar de ponerle un Where ya no me devolvía ningún valor.
Este es el codigo modificado y en principio debería de devolverme un 0 o un 1.

1
2
3
4
5
6
7
8
9
10
11
12
<?php
    if(isset($_POST['btn1'])){
        include("abrir_conexion.php");
 
        $nombre = $_POST['nombre'];
 
        $resultados = mysqli_query($conexion, "SELECT * FROM $tabla_db1 WHERE nombre = $nombre");
        while($consulta = mysqli_fetch_array($resultados)){
            echo $consulta['pista1'];
        }
        }
?>


Por si alguien se pregunta que estoy intentando, para hacer una prueba quisiera crear como una especie de inventario en donde el usuario verá únicamente las pistas que ha encontrado hasta ahora.
Es una chorradita que estoy intentando para practicar.
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 kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Me pueden mirar este codigo?

Publicado por kip (877 intervenciones) el 23/12/2016 23:00:58
Hola, debes recordar que para que la query pueda ejecutarse cuando usas WHERE los valores a evaluarse deben llevar comillas si son strings para que MySQL los interprete como tal y no haya algun problema, intentalo asi:

1
$resultados = mysqli_query($conexion, "SELECT * FROM $tabla_db1 WHERE nombre = '$nombre'");

Nos cuentas si con esa corrección ha funcionado, si?
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 Marco
Val: 6
Ha aumentado su posición en 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

Me pueden mirar este codigo?

Publicado por Marco (3 intervenciones) el 24/12/2016 09:35:45
Pues si, ahora si funciona
Muchísimas gracias!!!
Hay que ver como cambia la cosa por poner o no unos ' '

Ya funciona perfectamente ^-^
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
sin imagen de perfil
Val: 1.071
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Me pueden mirar este codigo?

Publicado por Yamil Bracho (888 intervenciones) el 23/12/2016 23:40:32
Es mejor usar sentencias preparadas para eviatr SQL injection y que te lies con las comillas, apostrofes, etc.
1
2
3
4
5
6
7
$stmt = $dbConnection->prepare('SELECT * FROM $tabla_db1 WHERE nombre = ?');
$stmt->bind_param('s', $nombre);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
    ...
}
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 Marco
Val: 6
Ha aumentado su posición en 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

Me pueden mirar este codigo?

Publicado por Marco (3 intervenciones) el 24/12/2016 09:39:33
Ya veo
Lo probaré a ver si me sale ^-^

Eso debo substituirlo por las líneas 7 y 8 no?
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