Toon posts:

[PHP] Variabele voorkomen te parsen

Pagina: 1
Acties:
  • 48 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb een variabele met een enorme hoeveelheid inhoud, waar ook html tussenzit. Nu begrijp je wel, dat dit niet werkt als je het in een mysql database wil stoppen dmv. een mysql_query. Nu vraag ik mij af, bestaat er een functie in php om te voorkomen dat mijn variabele geparsed wordt?

PHP:
1
mysql_query("UPDATE content SET '$a' = '$_POST[$a]'") or die (mysql_error());


Waar content de tabel is waar ik mijn pagina's bewaar, $a de naam van de pagina en ook de naam van het formulier waarin je de pagina online kan aanpassen, en $_POST[$a] de aangepaste content is. Nu geeft hij een error bij het parsen van $_POST[$a].
ik weet dat dit waarschijnlijk een voor de hand liggende oplossing heeft, maar google vind nooit wat. (helaas)

Verwijderd

Backslashen? (\)

Verwijderd

Topicstarter
Dat is een mogelijkheid, maar om dat nou op een paar honderd pagina's te gaan zitten uitvoeren, en de gebruikers te vertellen dat ze er op moeten letten is ook geen doen. Tuurlijk kan je er een scriptje voor schrijven, maar mij leek dat zo'n functie wel moest bestaan? Het is natuurlijk niet alleen komma's, maar ook haakjes en hekjes en weet ik veel wat nog meer!

Verwijderd

mysql_real_escape_string().

[ Voor 66% gewijzigd door Verwijderd op 21-07-2005 01:00 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Nu geeft hij een error bij het parsen van $_POST[$a].
Goh. Lekker duidelijk. ;)

Behalve wat elguapo al zegt: addslashes en mysql_escape_string zijn er ook. Wat overigens prima te vinden is in de manual en praktisch iedere tutorial over PHP en databases. Verder wil ik je nog even wijzen op drm's tiplist en dan met name dit stukje. Bovendien is er nog het gevaar van SQL injections (wat je overigens met elguapo's tip voorkomt). :)

Hoe dan ook, omdat dit gewoon makkelijk op te lossen is met een goed boek of een tutorial, doe ik dit topic op slot.

edit:

Als je overigens letterlijk "$a" wil afdrukken, dan moet je enkele quotes gebruiken in plaats van dubbele.

[ Voor 12% gewijzigd door NMe op 21-07-2005 01:47 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Dit topic is gesloten.