Ik heb een query die aan de hand van het ingeven van de postcode, de gemeente als resultaat geeft.
Nu wil ik, als ik de postcode ingeef, de adresgegevens (naam-adres-gemeente-email) uit mysql te zien krijgen, en niet alleen de gemeente.
Lees even de handleiding voor SQL door. Backtics moet je uit je queries halen en je moet een goede manier van foutafhandeling gebruiken. Zo wordt debuggen steeds makkelijker.
In de handleiding staat vast wel iets over velden SELECTeren met SQL. Daar moet je wezen ;-).
In een select query kun je een aantal kolommen selecteren.
Jij selecteert nu alleen de kolom "plaats". Je kunt bijvoorbeeld ook de kolom "naam" selecteren. Je query ziet er dan zo uit:
SELECT plaats, naam
FROM adressen
WHERE postcode = '1234 AA'
Natuurlijk moet de kolom "naam" wel in de tabel adressen bestaan.
Je kunt met "*" ipv "plaats, naam" ook alle kolommen selecteren. Dit is alleen niet aan te raden omdat je meestal niet alle kolommen nodig hebt en als je een kolom naam aanpast dan gaat je query nog wel goed maar daarna krijg je PHP errors omdat je een niet bestaande kolom wilt gebruiken.
Vooreerst bedankt voor de nuttige tips en alvast een vrolijke Pasen. Ik heb geprobeerd met "plaats" en "naam", maar dan krijg ik foutmeldingen. Vermoedelijk ligt de fout in mijn "echo's".
"SELECT plaats naam", je vergeet de komma. Bovendien moet het veld naam ook in je tabel voorkomen, hè. Lees nou maar even die handleiding door, dan snap je het allemaal een stuk beter. Nu kun je zelf alleen maar gissen en zoals je al zag, dat gaat fout ;-).
Dit gaat ook niet werken. Variabelen moeten namelijk escaped worden.
<?
$sql="SELECT plaats,naam FROM adressen WHERE postcode='$zoekpc'";
?>
Dit moet het worden.
<?
$sql="SELECT plaats,naam FROM adressen WHERE postcode= '".$zoekpc."'";
?>
Verder hoef je niet perse gebruik te maken van mysql_free_result($result) en
mysql_close($verbinding). De verbinding wordt namelijk vanzelf gesloten aan het eind van de pagina en free result is alleen nodig wanneer je hele grote hoeveelheden data gaat ophalen. Volgens mij doe je dat nog niet :)
Dit gaat ook niet werken. Variabelen moeten namelijk escaped worden.
Hoezo moeten variabelen escaped worden? Zijn meer mensen heilig van overtuigd maar volgens de PHP manual mag het gewoon (in de documentatie wordt het zelfs veelvoudig gebruikt). En het werkt overigens perfect ^^.
Het niet escapen maakt de code een stuk leesbaarder. Zoals in de laatste link te zien is het volgens mij perfect: gebruik ' wanneer je geen variabelen in de string zet (scheelt processortijd) en gebruik " wanneer je wel variabelen in de string zet.
@Theforce: Ga jij maar eens in een lap tekst met de variabelen binnen quotes een typfout in een variabele veranderen. Een speld in een hooiberg. Met een buiten-quotes-gehaalde variabele kun je zo zien waar 'ie staat :-).