Ik heb een nieuwsscriptje en als ik de drie velden van mijn nieuwsbericht intyp ( titel, intro, tekst ) dan gaat die informatie prima naar de database mbv ".mysql_real_escape_string($_POST['titel'])." . Daar zit alles snor dus (denk ik).
Als ik dan een CMS overzichtje laat zien (lijst) van mijn nieuwsitems, alleen titel en datum, dan haalt hij de gegevens prima uit de DB.
Rechts van alle titels heb ik het knopjes verwijderen. Ik kan alle berichten verwijderen, behalve als er een ' in de titel staat. Zonder ' tekens kan ik alles prima verwijderen.
Naar mijn idee is een single-quoted string prima geschikt om een query mee op te bouwen.
Deze string neemt immers alle karakters/tekens letterlijk. (o.a. speciale tekens zoals \n worden niet als enter gezien), dit maakt het interpreteren door PHP ook weer eens iets sneller.
De functies mysql_escape_string en mysql_real_escape_string escapen zowel een enkele als een dubbele quote.
Dus ik zie het probleem hierin niet...
Uiteraard snap ik dan wel dat je waardes tussen single-quotes moet gaan escapen maar dat maakt mij niet zoveel uit. In een goede query zitten alle waardes (van variabelen) zowel integer als string tussen single-quotes.