03/01/2015, 10:00
|
| | Fecha de Ingreso: octubre-2014
Mensajes: 70
Antigüedad: 10 años, 1 mes Puntos: 0 | |
Respuesta: error variable indefinida y mysql_fetch_array() expects parameter 1 to be Cita:
Iniciado por gnzsoloyo Lo más probable, para mí, es que la consulta no te esté devolviendo registros, aunque no esté dando error. Por lo que luego mysql_fetch_array() no puede recuperar nada en tanto apunta a nulos.
Ese es un error habitual. Debes verificar que la consulta efectivamente haya devuelto registros antes de intentar recorrerlos.
Por otro lado, a nivel de la consulta veo un pésimo uso de las condiciones del WHERE, un abuso de LIKE, que es una de las peores cláusulas que existen.
No se debe usar LIKE para hacer comparaciones contra identificadores numéricos. Tiende a generar datos basura, proque LIKE aplica a cadenas de texto y no a magnitudes escalares.
Un dato numérico es igual, mayor, menor o está dentro de un rango, pero nunca es "parecido a...".
¿Se entiende la distinción.
Eso mismo pasa con las fechas, no existen fechas "parecidas a...", o son iguales, son anteriores, posteriores o están entre dos fechas (rango).
Poner LIKE es una mala costumbre de los que recién se inician. Ademas es una clausula de muy mala performance, donde lo recomendable a nivel de BBDD y SQL, es no usarla, o no usarla con comodines ("%") a ambos lados porque eso hace que se lea toda la tabla, hasta el último registro... Imaginate que estás haciendo esa consulta en una tabla de diecisiete millones de registros. ¿Tendría sentido?
Empieza por verificar que tengas datos que cumplan las condiciones, y por sobre todo verifica que ninguna de las variables lleguen vacías. Y no digo que existan, o estén definidas, sino que no contengan caracteres vacíos, que no es lo mismo que NULL. Hola, muchas gracias por tu respuesta, y como podría hacerlo de una forma eficiente? conoces de algun tutorial que pueda usar como referencia para poder lograr hacer el buscador con el editar ?
Saludos |