webForumDet fria alternativet

select < 1 tim

8 svar · 350 visningar · startad av Php

PhpMedlem sedan sep. 2001225 inlägg
#1

Hur ser select satsen ut för om jag ska skriva ut alla poster, som är inlagda för mindre än en timma sedan? Jag försökte med följande, men lyckades ej.
Datumet finns i databasen sparat som datetime Y-m-d (H:i)

$kolla = mysql_query("SELECT * FROM request where time > DATE_SUB(NOW(), INTERVAL 1 HOUR)");
LarsGMedlem sedan dec. 200012 465 inlägg
#2

Vad betyder

men lyckades ej

?

Jag ser inget fel i den sql-sats du har skrivit nu.

pimmeMedlem sedan sep. 2001553 inlägg
#3

Felet är att time är ett reserverat ord. Gör såhär istället

$kolla = mysql_query("SELECT * FROM request where `time` > DATE_SUB(NOW(), INTERVAL 1 HOUR)");

Dvs, sätt backsticks ` ` runt time

pimmeMedlem sedan sep. 2001553 inlägg
#4

För att lättare kunna felsöka så kör

$kolla = mysql_query(....) or die(mysql_error());
LarsGMedlem sedan dec. 200012 465 inlägg
#5

Felet är att time är ett reserverat ord.

Inte i Mysql.

pimmeMedlem sedan sep. 2001553 inlägg
#6

LarsG skrev:

Felet är att time är ett reserverat ord.

Inte i Mysql.

Av vilken anledning är det då att `time` fungerar men inte time?

LarsGMedlem sedan dec. 200012 465 inlägg
#7

Jag testade i 4.1 av Mysql och där gick det bra att använda time som klolumnnamn.

CokeLightMedlem sedan juni 2000506 inlägg
#8

kanske att ovanstående SQL var skriven direkt i php-sidan och att time är ett reserverat ord i php men inte i mysql, eller...? :)

@ndersMedlem sedan juni 200026 914 inlägg
#9

CokeLight skrev:

kanske att ovanstående SQL var skriven direkt i php-sidan och att time är ett reserverat ord i php men inte i mysql, eller...? :)

Nej, det har ingen betydelse.

Mvh

Genererad på 370 ms · cache AV · v20260730165559-full.f96bc7eb