Ver Mensaje Individual
  #10 (permalink)  
Antiguo 05/10/2015, 08:39
diegoguerrero
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Consulta mysqli me da error

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Vuelvo al punto: Tienes que verificar si la sentencia queda bien escrita para MySQL. No te olvides que PHP no interpreta SQL, y MySQL tampoco lo hace con PHP.

Mira, el error básico es simplísimo, ´suponiendo que hayas ingresado tu user como "Antonio", tu SQL queda así:
Código MySQL:
Ver original
  1. SELECT * FROM MisLibros WHERE 'user=antonio'
¿Notas como todo lo del WHERE ha quedado resaltado como una cadena de texto?
Bueno, eso es porque lo UNICO que debe ir como cadena de texto es lo que estás recibiendo por GET:

Código MySQL:
Ver original
  1. SELECT * FROM MisLibros WHERE user='Antonio'
¿Notas la diferencia?

Ahora bien, otra cosa que te conviene hacer SIEMPRE, mientras estás aprendiendo a programar y todavía estás en etapa de desarrollo es visualizar lo que el SQL genera:
Código PHP:
$sql_tarea "SELECT * FROM MisLibros WHERE user='".$user."'";
echo 
$sql_tarea
de ese modo podrás asegurarte de qué es lo que estás enviando a la base, porque si el usuario no está llegando, obtendrías esto:

Código MySQL:
Ver original
  1. SELECT * FROM MisLibros WHERE user=''
Y eso no genera un error, pero tampoco devuelve datos.... cosa que es lo que no estás verificando en NINGUNA PARTE. Tu asumes que siempre obtienes datos, y eso no es necesariamente cierto.
Estupenda respuesta. ¡Muchas gracias!