Hallo,
Ik loop tegen een hele vage fout in php/sql
Dit is mijn code:
In de database staan 2 rijen:PHP Code:
$res = mysql_query("select * from nieuws where`positie`<'11'")
1 met positie op 2, en 1 met positie op 10.
Je zou denken dat hij ze bijden ophaalt (ze zijn lager dan 11) maar hij haalt niks op :s
Iemand een idee?
Alvast bedankt
- MySql v(r)aag...
-
16-07-2009, 16:01 #1
- Berichten
- 1.197
- Lid sinds
- 17 Jaar
MySql v(r)aag...
-
In de schijnwerper
-
16-07-2009, 16:05 #2
- Berichten
- 1.483
- Lid sinds
- 16 Jaar
Om exact te zien wat MySQL doet kun je de querie beter uitvoeren in PhpMyAdmin --> SQL. Als je daar vervolgens 2 rijen ziet dan klopt je SQL maar is je PHP code fout waardoor niet alles weergeven wordt. Ik denk dus ook aan het laatste :-)
Daarlangs is je SQL echt bagger (onleesbaar) ga daar eens aan werken:
select * from nieuws where`positie`<'11'
SELECT
veldnaam,
veldnaam2
FROM nieuws
WHERE positie < 11
-
16-07-2009, 16:08 #3
- Berichten
- 1.197
- Lid sinds
- 17 Jaar
php is goed, simepl mysql_num_rows geeft 0 terug, daarnaast is het niet bagger, waarom zou ik alle velden een voor 1 ingeven als ik ze allemaal (*) moet halen?
Aanvullend bericht:
ook in phpMyAdmin blijft het angstvallig leeg, terwijl als ik < vervang door > het wel word weergeven, hoe kan dit??
MySql ziet 9 en 2 hoger dan 11 :SLaatst aangepast door Cedric H. : 16-07-2009 om 16:11 Reden: Automatisch samengevoegd.
-
16-07-2009, 16:12 #4
- Berichten
- 1.483
- Lid sinds
- 16 Jaar
waarom zou ik alle velden een voor 1 ingeven als ik ze allemaal (*) moet halen?
Over het aangeven van velden gesproken is het gewoon weg professioneler om dat dus wel te doen. Daarlangs zorg je ervoor dat er geen onnodige velden geladen worden (De database geen performance verliest).
Als ik een script beoordeel dan haak ik vaak af op het gebruik van * :)
Aanvullend bericht:
ook in phpMyAdmin blijft het angstvallig leeg, terwijl als ik < vervang door > het wel word weergeven, hoe kan dit??
MySql ziet 9 en 2 hoger dan 11 :SLaatst aangepast door Arek van Schaijk : 16-07-2009 om 16:14 Reden: Automatisch samengevoegd.
-
16-07-2009, 16:15 #5
- Berichten
- 1.197
- Lid sinds
- 17 Jaar
varchar
-
16-07-2009, 16:16 #6
- Berichten
- 1.483
- Lid sinds
- 16 Jaar
-
16-07-2009, 16:19 #7
- Berichten
- 1.197
- Lid sinds
- 17 Jaar
zet er af en toe ook text in (notpublished) zal wel gewoon ander veld aanmaken
-
16-07-2009, 16:20 #8
- Berichten
- 1.483
- Lid sinds
- 16 Jaar
-
16-07-2009, 16:51 #9
- Berichten
- 980
- Lid sinds
- 17 Jaar
Tenzij je alle velden gaat gebruiken, daarnaast vind ik zijn query helemaal niet slecht. Jouw query mist nog de ` om de veld cq tabelnamen. Bij gebruik van een sql commando ga jij dus problemen krijgen. Ts mist hem trouwens ook bij de tabelnaam, maar ach..
-
16-07-2009, 16:55 #10
- Berichten
- 3.430
- Lid sinds
- 16 Jaar
De fout zit erin dat je 11 opschrijft als string. Gebruik niet '11' maar 11. Nu is het net alsof je zegt 2>'tekst'. Overigens ben ik het met de rest eens, je MySQL codes zijn erg onoverzichtelijk. Ik adviseer je ook om geen backticks te gebruiken.
Het ligt niet aan het veld positie, zoals anderen suggereren, die kan gewoon VARCHAR blijven (hoewel ook ik INT adviseer). Het gaat om die 11.
-
16-07-2009, 16:58 #11
- Berichten
- 1.197
- Lid sinds
- 17 Jaar
die 11 maakt nu juist niks uit, al geprobeerd sorry, lag wel degelijk aan INT
-
16-07-2009, 16:58 #12
- Berichten
- 3.430
- Lid sinds
- 16 Jaar
-
16-07-2009, 17:02 #13
- Berichten
- 1.197
- Lid sinds
- 17 Jaar
moet ik dalijk even kijken, is server van een klant dus heb geen idee.
In ieder geval sluit ik dit topic, probleem is al opgelost. Bedankt iedereen!
-
16-07-2009, 17:10 #14
- Berichten
- 1.483
- Lid sinds
- 16 Jaar
De fout lag bij Cedric aan het verkeerd veld type omdat VARCHAR geen hoger / lager kan bevatten en INT wel. Zowel INT als VARCHAR kunnen wel gesorteerd worden op bijvoorbeeld op ASC.
-
16-07-2009, 17:19 #15
- Berichten
- 1.197
- Lid sinds
- 17 Jaar
kan iemand anders dit topic sluiten? mij lukt het weer niet :-(
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic