Avatar billede crysis Nybegynder
22. februar 2006 - 09:33 Der er 24 kommentarer

Fejl i sætningen!

Er der nogen der kan finde en fejl i følgende sætning?

SELECT *, SF_Contacts.contactid as cid, FROM SF_contacts WHERE country like '%Denmark%' and Gender = '1' and Postal IN (SELECT Postal FROM SF_Areas WHERE ContactId = '1590476') and (2005 - birthyear) >= 0) and (2005 - birthyear) <= 120) and not imageurl is null and not imageurl = '' ORDER by lastlogin desc

MySQL kommer med en fejlbesked, men den er ikke til megen hjælp. Den siger bare at der er fejl i linie 1!
Avatar billede michael_stim Ekspert
22. februar 2006 - 09:36 #1
Hvilken version bruger du?
Det hedder IS NOT NULL.
Avatar billede michael_stim Ekspert
22. februar 2006 - 09:36 #2
Under version 4 tillader ikke subselects
Avatar billede crysis Nybegynder
22. februar 2006 - 09:37 #3
Det er den nyeste version. Har lige downloadet den for et par dage siden. Jeg prøver lige med IS NOT i stedet...
Avatar billede jarret Nybegynder
22. februar 2006 - 09:38 #4
mangler du ikke at afslutte din første parentes?
Avatar billede jarret Nybegynder
22. februar 2006 - 09:39 #5
min fejl (o;
Avatar billede michael_stim Ekspert
22. februar 2006 - 09:39 #6
not imageurl = ''
Kan du ændre til
imageurl <> ''
Avatar billede michael_stim Ekspert
22. februar 2006 - 09:40 #7
Check lige om dit webhotel også har version 4+
Avatar billede jarret Nybegynder
22. februar 2006 - 09:41 #8
eller omvendt er der en for meget?
Avatar billede michael_stim Ekspert
22. februar 2006 - 09:41 #9
Det er lidt surt at uploade alting uden at noget virker ;o)
Avatar billede crysis Nybegynder
22. februar 2006 - 09:42 #10
Melder stadig den samme fejl. Linjen er nu: 

SELECT *, SF_Contacts.contactid as cid, FROM SF_contacts WHERE country like '%Denmark%' and Gender = '1' and Postal IN (SELECT Postal FROM SF_Areas WHERE ContactId = '1590476') and ((2005 - birthyear) >= 0) and ((2005 - birthyear) <= 120) and  imageurl is not null and  imageurl <> '' ORDER by lastlogin desc
Avatar billede crysis Nybegynder
22. februar 2006 - 09:43 #11
Den kører lokalt, så det er den nyeste MySQl, PHP5 og Apache2... Så det skulle være på plads ;-) Kan der være fejl i det med Birthyear. Linjen virker fint med MSSQL ;-)
Avatar billede michael_stim Ekspert
22. februar 2006 - 09:43 #12
Så har du en parantes for meget som jarret siger. Efter >=0.
Avatar billede crysis Nybegynder
22. februar 2006 - 09:43 #13
Jarret: Ja, der var vist lidt parentes rod :-)
Avatar billede michael_stim Ekspert
22. februar 2006 - 09:44 #14
Hvis du kører med PHP så prøv at sætte en "or die(mysql_error());" Efter
Avatar billede jarret Nybegynder
22. februar 2006 - 09:44 #15
er den case sensitive?
FROM SF_lille c!!
Avatar billede crysis Nybegynder
22. februar 2006 - 09:47 #16
PHP kommer med følgende:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM SF_contacts WHERE country like '%%' and Gender = '0' and Postal IN (SEL' at line 1

MySQL er vist ikke casesensitive.
Avatar billede jarret Nybegynder
22. februar 2006 - 09:50 #17
In MySQL, databases and tables correspond to directories and files within those directories. Consequently, the case-sensitivity of the underlying operating system determines the case-sensitivity of database and table names. This means database and table names are case-insensitive in Windows, and case-sensitive in most varieties of Unix.
Avatar billede jarret Nybegynder
22. februar 2006 - 09:51 #18
The following query would not work because it refers to a table both as my_table and as MY_TABLE:

mysql> SELECT * FROM my_table WHERE MY_TABLE.col=1;
Avatar billede jarret Nybegynder
22. februar 2006 - 09:52 #19
prøv at ret til stort C
Avatar billede crysis Nybegynder
22. februar 2006 - 09:52 #20
Ahhh, der kan man bare se. Men jeg har windows, så det burde virke. Men retter det lige..
Avatar billede crysis Nybegynder
22. februar 2006 - 09:56 #21
Crap... Jeg har fundet fejlen. "SELECT *, SF_Contacts.contactid as cid," det komma skal væk.. ARGGG
Avatar billede jarret Nybegynder
22. februar 2006 - 09:57 #22
super (0:
Avatar billede jarret Nybegynder
22. februar 2006 - 09:58 #23
altså at du fandt fejlen...
Avatar billede crysis Nybegynder
22. februar 2006 - 10:03 #24
Tak for hjælpen. Der kommer sikkert mere. MySQL er jo lidt anderledes fra MSSQL.
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
Computerworld tilbyder specialiserede kurser i database-management

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