select < 1 tim

Databaser & SQL

8 svar · 391 visningar · startad av Php

Medlem sedan sep. 2001224 inlägg
Trådstart#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)");
Medlem sedan dec. 200012 464 inlägg
#2

Vad betyder

men lyckades ej

?

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

Medlem sedan sep. 20011 086 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

Medlem sedan sep. 20011 086 inlägg
#4

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

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

Felet är att time är ett reserverat ord.

Inte i Mysql.

Medlem sedan sep. 20011 086 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?

Medlem sedan dec. 200012 464 inlägg
#7

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

Medlem sedan juni 2000504 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...? :)

Medlem sedan juni 200032 967 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

254 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)