Avatar billede majbom Novice
25. februar 2004 - 15:35 Der er 11 kommentarer og
1 løsning

fejl i sql-sætning

nu har jeg fået hjælp til at lave denne sql-sætning, men den virker ikke helt...

$sql2 = "SELECT postid AS id, brugerid, navn, emne, dato FROM posts WHERE postid='$comm[postid]' AND date =< SUBDATE(NOW(), INTERVAL 3 MONTHS)";
men jeg får følgende fejl: "mysql_error"

synes da ikke at den ser forkert ud!?

pft
Avatar billede kgp43 Nybegynder
25. februar 2004 - 15:40 #1
$sql2 = mysql_query("SELECT postid AS id, brugerid, navn, emne, dato FROM posts WHERE postid='$comm[postid]' AND date =< SUBDATE(NOW(), INTERVAL 3 MONTHS");
Avatar billede muddi Praktikant
25. februar 2004 - 15:42 #2
Jeg ved ikke om det kan være årsagen til fejlen, men 'større end eller lig med' operatoren skrives '<=' og ikke '=<' ... Prøv at ændre det, og hvis ikke det virker, så giv et dump af din tabelstruktur.

/Morten
Avatar billede majbom Novice
25. februar 2004 - 15:45 #3
det gjorde ingen forskel

her er strukturen:
CREATE TABLE posts (
  postid int(11) NOT NULL auto_increment,
  brugerid int(11) NOT NULL default '0',
  dato text NOT NULL,
  navn text,
  kat text NOT NULL,
  emne text NOT NULL,
  indhold text NOT NULL,
  sidste bigint(14) NOT NULL default '0',
  laast int(11) NOT NULL default '0',
  laastaf int(11) default NULL,
  grund text,
  vist int(11) NOT NULL default '0',
  ip text NOT NULL,
  date date NOT NULL default '0000-00-00',
  PRIMARY KEY  (postid)
) TYPE=MyISAM;
Avatar billede erikjacobsen Ekspert
25. februar 2004 - 15:50 #4
Det hedder MONTH ikke MONTHS - også selv om der er 3 af dem.
Kan du ikke lige vise os hvordan hele koden omkring denne SQL-sætning ser ud?
Avatar billede majbom Novice
25. februar 2004 - 15:55 #5
hey... det virker... month uden "s" og vende < rigtigt...

mange tak!
Avatar billede erikjacobsen Ekspert
25. februar 2004 - 15:59 #6
Grunden til at jeg beder dig om lidt af din kode, er fordi det ser ud til
at du kan gøre det bedre, og få bedre fejlmeddelelser, så du hurtigere kan
fange disse fejl. Jeg tror du siger

  mysql_query($sql) or die("mysqlerror");

hvor du bedre kunne

  mysql_query($sql) or die(mysql_error());

eller endnu bedre

  mysql_query($sql) or die(mysql_error().": $sql");
Avatar billede majbom Novice
25. februar 2004 - 19:40 #7
jamen så mangler jeg bare et svar...

-> erikjacobsen - jeg har bruger: mysql_query($sql) or die(mysql_error());
Avatar billede erikjacobsen Ekspert
25. februar 2004 - 20:22 #8
Men når du i spørgsmålet siger

    men jeg får følgende fejl: "mysql_error"

så betyder det vel at du får teksten "mysql_error" ud - ikke?
Avatar billede majbom Novice
26. februar 2004 - 08:39 #9
jo... men det er osse det jeg gør...
har så lige fundet ud af at jeg havde glemt () efter mysql_error, så er der jo ikke noget at sige til at den ikke vil skrive fejlen... synes osse det var mærkeligt at den ikke skrev hvad fejlen var...

men det virker nu, så hvis en af jer lige vil komme med et svar...
Avatar billede erikjacobsen Ekspert
26. februar 2004 - 08:55 #10
Okay, ja, de to paranteser "()" skal med så det hedder

  ... or die(mysql_error());

for ellers kommer teksten "mysql_error" sommetider du ;)

Ingen point, tak, jeg samler ikke på dem.
Avatar billede majbom Novice
26. februar 2004 - 09:09 #11
det er jo klart, for så skriver den bare teksten istedet for at bruge funktionen... :)

hmm hvis der ikke er nogle der vil have pointene, så beholder jeg dem da bare selv!
:)
Avatar billede majbom Novice
26. februar 2004 - 11:14 #12
tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester