Ik heb een mysql database met de structuur zoals onderstaand plaatje. Nu heb ik in de 'INT' row 'Limit' soms het limit 0 staan, dan weer 5 etc. Nu wil ik alle rijen selecteren waar het 'Limit' field niet '0' is. De rest van de rijen moeten allemaal meegenomen worden. Nu had ik onderstaande code maar helaas geeft dit geen resultaten. Ik denk dat het probleem erin zit dat het een 'INT' rij is? Ik kan dit alleen niet meer aanpassen dus zou graag een optie hebben om het zo op te lossen.
Oke dat is mooi dat de database in ieder geval goed staat! Ik krijg helemaal geen resulstaten uit deze query. En dit terwijl er wel limits groter dan 0 zijn, zie onderstaand b.v.
Krijg je wel resultaten als je er helemaal geen WHERE in zet?
Of krijg je foutmeldingen uit je query?
Misschien dat er iets anders fout gaat. Er staan namelijk getallen in hoger dan 0, het is een INT en je query lijkt te kloppen.
Klopt hij niet, moet je zorgen dat hij een foutmelding geeft.
[size=xsmall]Toevoeging op 02/10/2016 16:21:14:[/size]
Als ik de where eruit haal werkt de query wel. Ik krijg verder geen foutmeldingen met of zonder de where. Het gaat hier om een query die ik gebruik in 'WP Tables' een plugin voor Wordpress. Ik heb onderstaande query hiervoor al meerdere malen op deze manier gebruikt en die werken wel uitstekend. Het gaat alleen fout met deze 'Limit >0' query.
SELECT * FROM wp_wpdatatable_7 WHERE provider LIKE '%Tweaknews%'
[Edit]Het is me inmiddels toch gelukt!! Na wat extra zoekwerk blijft voor deze Wordpress plugin een andere query nodig te zijn, met onderstaande query werkt het nu wel!
SELECT * FROM wp_wpdatatable_7 WHERE 1=1 AND wp_wpdatatable_7.Limit > '0'
[/edit]
Die 1 = 1 AND kun je gewoon weglaten, dat voegt niets toe. Dat wp_datatable_7.Limit wel werkt en Limit niet komt vermoedelijk doordat limit een gereserveerd woord is.
Met uiteraard de voorkeur voor het eerste. De backtics worden soms vergeten, met dit soort fouten tot gevolg.
Sowieso is het verstandig om een regel voor jezelf te hanteren voor het gebruik van hoofdlettes in de namen van kolommen en tabellen. Ik zie dat je daar niet consequent in bent bij de kolomnamen.
Onder Windows is het gebruik van hoofdletters in tabelnamen niet relevant, maar onder Linux cs. is er een verschil tussen "tabelnaam" en "TabelNaam".
ps:
en het is altijd (zeker tijdens het ontwikkelen) verstandig om de foutmeldingen te kunnen zien, omdat je dan waarschijnlijk al een melding het gehad dat de fout "near Limit" optrad.
Thanks allemaal voor jullie hulp! Ik was mij er niet van bewust dat er reserved keywords waren, erg handig om dit te weten voortaan. Ben het ook eens met de hoofdletters dat dit niet handig is. Dit is voor mij de eerste keer dat ik een site maak via wordpress dus is allemaal nog even uitvogelen hoe ik wat eigen php/mysql aanpassingen het beste kan toepassen