Avatar billede clausga Nybegynder
18. juni 2005 - 20:12 Der er 26 kommentarer og
2 løsninger

Finde flet som ikke er tomt

Ja jeg har en database med nogle felter i, jeg vil have den skal tage dem ud hvor feltet ikke er tomt....men det her virker ikke :)

$do = mysql_query("SELECT * FROM produkter WHERE stock IS NOT ' '");
Avatar billede nielle Nybegynder
18. juni 2005 - 20:16 #1
$do = mysql_query("SELECT * FROM produkter WHERE stock NOT NULL");
Avatar billede nielle Nybegynder
18. juni 2005 - 20:18 #2
$do = mysql_query("SELECT * FROM produkter WHERE stock IS NOT NULL");
Avatar billede nielle Nybegynder
18. juni 2005 - 20:26 #3
...men bortset fra det... burde der ikke simpelthen stå 0 i feltet 'stock' hvis porduket ikke er på lager?
Avatar billede clausga Nybegynder
18. juni 2005 - 20:27 #4
den tager alle selv om fletet er tomt eller ej
Avatar billede clausga Nybegynder
18. juni 2005 - 20:28 #5
feltet er helt tomt så nok derfor den ikke virker
Avatar billede nielle Nybegynder
18. juni 2005 - 20:42 #6
Nu kan et felt jo være tomt på så mange måder.

NULL - slet ingen ting, heller ikke den tomme streng
"" - den tomme streng.
"    " - en streng som umiddelbart ser tom ud, men i virkeligheden består af et antal blanktegn.
Avatar billede nielle Nybegynder
18. juni 2005 - 20:45 #7
... WHERE stock IS NOT NULL - matcher alle de felter som ikke her *helt* tomme-
... WHERE stock='' - matcher alle de felter som indeholder den tomme streng.

.. og dit eksempel:

... WHERE stock IS NOT ' ' - matcher de felter som indeholder en streng med netot et blang´ktegn
Avatar billede nielle Nybegynder
18. juni 2005 - 20:46 #8
...altså bortset for at det så skal hedde:

WHERE stock <> ' '
Avatar billede nielle Nybegynder
18. juni 2005 - 20:54 #9
Det halter lidt med retstavningen - for slet ikke at nævne meningen:

... WHERE stock IS NOT ' ' - matcher de stock-felter som *ikke* indeholder en streng med netop *et* blanktegn.
Avatar billede clausga Nybegynder
18. juni 2005 - 21:58 #10
Fletet er HELT TOM der er INGEN anslag i fletet
Avatar billede clausga Nybegynder
18. juni 2005 - 21:58 #11
Der er intet af det som virker
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
Avatar billede nielle Nybegynder
18. juni 2005 - 22:05 #12
Hvordan ser din SQL-sætning ud lige nu?
Avatar billede Slettet bruger
18. juni 2005 - 22:30 #13
nielle <> og != er vel ens?
Avatar billede nielle Nybegynder
18. juni 2005 - 22:42 #14
Nej. Operatoren != er ikke standard SQL-syntaks. Der hedder det <>.

Men ja, operatoren <> betyder "forskellig fra".
Avatar billede sukos Juniormester
20. juni 2005 - 09:28 #15
Man kan da godt bruge
WHERE stock != ''

Og NULL kan jo kun bruges hvis feltet er sat til NULL
Avatar billede nielle Nybegynder
20. juni 2005 - 18:22 #16
sukos> Det afhænger af hvilken database man arbejder med. SQL standarden siger - så vidt jeg ved - kun noget om <>.
Avatar billede sukos Juniormester
20. juni 2005 - 19:41 #17
Avatar billede sukos Juniormester
20. juni 2005 - 19:49 #18
http://dev.mysql.com/doc/mysql/en/comparison-operators.html

Og så uden at "rode videre", så er <> og != det samme på ovenstående link.
Eller, de er begge "Not equal", "Forskellig fra"
Avatar billede nielle Nybegynder
20. juni 2005 - 20:02 #19
Nu er MySQL jo altså ikke den autoritative kilde for hvad der er SQL-standard. Det er der for den sags skyld ikke ret mange databaser der er - de vælger lidt forskellig notation på så mange områder.

http://sqlzoo.net/sql92.html
søg på not_equals_operator

Ang. dine MySQL link så læg lige mærke til at != faktisk kun optræder som overskrift - ikke blandt kodeeksemplerne.
Avatar billede nielle Nybegynder
20. juni 2005 - 20:04 #20
Bortset fra alt det, så ville det da være rart med noget response fra clausga...
Avatar billede clausga Nybegynder
20. juni 2005 - 21:37 #21
Nu virker det med denne :)

$do = mysql_query("SELECT * FROM produkter WHERE stock != ''");

mange tak smid svar
Avatar billede nielle Nybegynder
20. juni 2005 - 21:46 #22
Hvem vil du have svar af?
Avatar billede sukos Juniormester
21. juni 2005 - 14:42 #23
Well, min kommentar:

Man kan da godt bruge
WHERE stock != ''

Og NULL kan jo kun bruges hvis feltet er sat til NULL

Så jeg laver et svar!

nielle -> overskrift?
Avatar billede nielle Nybegynder
24. juni 2005 - 18:44 #24
sukos> Se min forklaring 18/06-2005 20:45:26 for hvorfor det er lidt uklart hvad der eksakt menes med "tom".
Avatar billede nielle Nybegynder
11. juli 2005 - 20:00 #25
Lukketid?
Avatar billede nielle Nybegynder
12. august 2005 - 09:57 #26
?
Avatar billede clausga Nybegynder
12. august 2005 - 14:17 #27
sorry nielle smider du også et svar ?
Avatar billede nielle Nybegynder
12. august 2005 - 14:37 #28
Svar :^)
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