No puedo obtener PHP mysql select con fecha

Tengo entradas de base de datos de fechas como el formato 2011/01/08 06:10:11, pero necesito SELECCIONAR fechas con la siguiente selección:

$q = mysql_query("SELECT id FROM events WHERE start = '".date("Y-m-d")."'");

¡Entonces PHP no selecciona nada! Cuando configuro la hora en la base de datos con el formato 2011/01/08 00:00:00, PHP selecciona este día

Ayúdame a seleccionar la fecha, sea cual sea la hora. gracias

preguntado el 08 de enero de 11 a las 20:01

está buscando usando un formato de fecha, cuando su campo es un campo de fecha y hora. -

Es una DATETIME campo en MySQL? Si no es así, actualice el tipo de su campo. Luego vea una de las soluciones propuestas:

¿Qué pasa si cambia el tipo de campo hasta la fecha? -

4 Respuestas

 You can use this.
SELECT * FROM <TABLE>
       WHERE date >= ‘2005-01-07’ AND date < ‘2005-01-07’ +
    INTERVAL 1 DAY;

no olvide reemplazar '2005-01-07' con la fecha que desee. Se ha discutido la misma pregunta Aquí

Respondido el 08 de enero de 11 a las 23:01

prueba este

 $q = mysql_query("SELECT id FROM events WHERE start LIKE '".date("Y-m-d")."%'");
observe que agregué% después de su fecha y asegúrese de tener algo en su tabla que corresponda a esa fecha que está buscando

Respondido el 08 de enero de 11 a las 23:01

Prueba la siguiente consulta

$q = mysql_query("SELECT id FROM events WHERE DATE_FORMAT( `start` , '%Y-%m-%d' ) = '".date("Y-m-d")."'");

Respondido el 08 de enero de 11 a las 23:01

Una solución es extraer solo la parte de la fecha y consultar que (¿dónde? Es su fecha):

SELECT id FROM events WHERE DATE(start) = ?

El problema es que esto no usa índices. Es mejor escribir la consulta así:

SELECT id FROM events WHERE start BETWEEN ? AND ?

Los dos signos de interrogación son tu cita con 00:00:00 y 23:59:59.

Respondido el 08 de enero de 11 a las 23:01

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.