IRC guru |
|
Text is een reserved word. Hoewel er een exception opstaat dat het wel zonder backticks bruikbaar is, kan je dat woord dus best gaan vermijden. Dit is geen bijdrage aan de topic zelf, maar wel even een melding tussendoor zodat je dat weet. Als je googled op 'mysql reserved words' vind je hier wel meer informatie over.
Dan om even te reageren op de code hierboven.
1) zoals al 1000 keer gezegd, echo $zoekwoord; variablen kan je best BUITEN de quotes zetten. De manier dat jij gebruikt is al lang bestempeld als bad coding.
2) $zoekwoord = $_POST... dit is geen controle, het enige dat je daar mee haalt is een warning als die postvar niet geset is. Je kan beter een if er rond zetten die kijkt of $_SERVER['HTTP_REQUEST_METHOD'] == 'POST' (MET hoofdletters), en daarna een isset op je zoekwoord.
3) Je query is gewoon te lelijk voor woorden... hieronder een deftige versie. Verder matched die ook enkel het exacte zoekwoord. Stel dat dit zoekwoord test is, dan heb je wel een hit op test, maar geen hit op testje.
<?php
$res = mysql_query("SELECT `text` FROM gedichten WHERE `text` LIKE '". $zoekwoord ."' ") or die(mysql_error());
?>
Let er op, de var staat BUITEN de quotes en als je een echo zou doen van de query krijg je:
LIKE 'test'
Dit gaat geen fout geven. Heb ook ineens de backticks er bij gezet. |