MySQL Query
Ik zit eigenlijk met een lullig probleempje, ik zal het uitleggen. Er is een profielpagina, 1 pagina met database en je krijgt dit:
Opvragen.php?id=naam
Nu heb ik een gastenboek erbij gemaakt, maar daar krijg ik een heel vreemde fout bij. Dit is de code van PHP:
$query10 = mysql_query("SELECT * FROM $nicknaam ORDER BY id DESC") or die ("Fout (2): " . mysql_error());
while (list($id, $afz_naam, $datum, $bericht, $IP) = mysql_fetch_row($query10)){
Ik zou zeggen, niets mis mee, met "normale" dingen ook niet, zoals Test, Probeersel etc. Maar als dit komt "prob-eer-sel" krijg ik WEL een fout, namelijk deze:
Fout (2): 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 '-kids-fan-girl- ORDER BY id DESC' at line 1
Weet iemand hoe ik dit kan oplossen, want bij het gewone opvragen van het profiel werkt het wel :S
Tom.
moet volgens mij zijn:
$query10 = mysql_query("SELECT * FROM " . $nicknaam . " ORDER BY id DESC") or die ("Fout (2): " . mysql_error());
Fout (2): 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 '-kids-fan ORDER BY id DESC' at line 1
Weet iemand anders misschien nog een oplossing?
$query10 = mysql_query("SELECT * FROM '" . $nicknaam . "' ORDER BY id DESC") or die ("Fout (2): " . mysql_error());
of bestaat die tabel wel die je probeert te benaderen?
Volgens mij geeft het '-' en andere vreemde tekens een fout. Want, als ik een gewone naam pak slikt ie hem wel, maar anders niet.
Enig idee of het hiermee te maken heeft?
Gewijzigd op 12/07/2004 19:11:00 door Tom
misschien dat het dan werkt.
Offtopic:
Als ik die query bekijk dan lijkt het erop dat elke member een aparte tabel heetf, is dat niet een beetje extreem?
Ja, iedere member heeft een eigen tabel. Voor dit probleem kwam, vond ik dat het handigst, omdat je dat van iedere member alles bij elkaar hebt, en als de member het profiel verwijderd, is het enkel de tabel weggooien en klaar.
Het ziet er naar uit dat hier géén oplossing komt, dus moet misschien toch maar overwegen om alles in 1 tabel te proppen, en dat dat wel werkt.
omdat er - in een nickname kunnen staan (en meer tekens) die je vervolgens weer als tabel naam gebruikt, moet je ` gebruiken ipv ' of "
dus dan wordt het zo:
Code (php)
1
2
3
4
2
3
4
<?
$sql = "SELECT * FROM `" . $nicknaam . "` ORDER BY id DESC";
$res = mysql_query($sql) or die(mysql_error());
?>
$sql = "SELECT * FROM `" . $nicknaam . "` ORDER BY id DESC";
$res = mysql_query($sql) or die(mysql_error());
?>
trouwens..... tis niet heel erg slim om voor elke member een tabel aan te maken.. :)
ALS je 'moeilijk' wil doen kun je altijd meerdere tabellen maken die ieder hun eigen eigenschap hebben.. Bijvoorbeeld 1 tabel voor de usernames en passwords, 1 tabel voor alle e-mail adressen etc. :)
Het is een beetje anders gelopen dan in begin gepland, maar het ALLERERGSTE is dat de tabel met gebruikersnamen, wachtwoord, en die dingen allemaal in een andere DATABASE staan :(
Omzetten is mogelijk door 1 centraal bestandje te wijzigen, maar goed, niet meteen aan gedacht ;)
Niet alles is in 1x gemaakt, vandaar dat sommige dingen een beetje 'weird' zijn gelopen. Centraal gezien zijn er 2 dingen, 1 tabel voor alle gegevens, en 1 tabel p.p. voor alle berichten die door ANDERE zijn achtergelaten.
Zoals eerder gezegd, tis een beetje wazig gelopen ;)
TNX!!
Gewijzigd op 12/07/2004 21:28:00 door Tom
np ;-) have fun
En tsjah aan de tabel naam tussen `` zetten had ik niet eens gedacht aangezien ik dat bijna uit automatisme doe,
Ik wist niet eens dat het zo'n enorm verschil kon maken.
Slimme bas :P
Mvg Sickness
Weet niet wat het verschil zal zijn tussen ' en `, maar goed.