De apostrof teken vormt een probleem in alle SQL- dialecten gebruikt voor database programmering . Voor MySQL , net als in andere versies van SQL , programmeurs omringen karakter data met apostrofs om gegevens in te voegen in een tabel , werkt deze of aan andere database- functies uit te voeren . Het probleem ontstaat wanneer personage zelf bevatten apostrof als leestekens . De oplossing ligt in het plaatsen van een speciaal teken onmiddellijk voorafgaand aan elke apostrof in character data . Apostrof Scheidingsteken In de MySQL -versie van SQL , u signaleert het begin en het einde van een string met ofwel enkele aanhalingstekens of dubbele aanhalingstekens . Beide van de volgende voorbeelden zijn geldig : INSERT INTO COMPANY_TABLE ( COMPANY_NAME ) WAARDEN ' The Fish Shack ' ; INSERT INTO COMPANY_TABLE ( COMPANY_NAME ) WAARDEN " The Fish Shack " ; in het volgende voorbeeld , echter , creëert een fout : INSERT INTO COMPANY_TABLE ( tag_line ) WAARDEN ' Eet in Joe's - het is goed eten ! " ; SQL wil de string interpreteren als " " Eet bij Joe ' , ' met alles wat na de tweede apostrof als onjuist . De volgende tekst is niet het probleem op te lossen : INSERT INTO COMPANY_TABLE ( tag_line ) WAARDEN " Eat at Joe's - Het is goed eten ! " ; Dit zou werken als de tekst had slechts een apostrof tussen de dubbele aanhalingstekens , maar deze tekst heeft twee . Ook, omdat sommige Web - pagina programmeertalen gebruiken dubbele aanhalingstekens zelf , kunt u wensen om te voorkomen dat het gebruik ervan in uw SQL . Dubbele Apostrophes en Backslash Escape MySQL's oplossing is om twee apostrofs interpreteren op een rij - '' - als een enkel citaat data karakter . Een backslash , of " \\ ", onmiddellijk voorafgaand aan een apostrof in data heeft hetzelfde effect . MySQL behandelt de combinatie van backslash en andere speciale tekens als een escape , effectief creëren van een personage uit twee . Beide van de volgende voorbeelden het probleem oplossen : INSERT INTO COMPANY_TABLE ( tag_line ) WAARDEN ' ! Eet in Joe '' s - It'' s Good Food ' ; INSERT INTO COMPANY_TABLE ( tag_line ) WAARDEN ' Eet in Joe \\ ' s - Het \\ 's Goed eten! ' ; Wanneer u programma's die MySQL verklaringen creëren schrijven , moet u eerst al uw tekenreeksen scannen en toe te voegen , hetzij een apostrof of backslash voordat een apostrof in uw gegevens . addslashes Functie De PHP Web programmeertaal , vaak gebruikt in combinatie met MySQL , heeft een addslashes functie ingebouwd om automatisch converteren apostrofs om backslash - apostrof paren . Hoeft u alleen de functie van uw gegevens strings zoals in dit voorbeeld : $ tag_line = addslashes ( $ tag_line ) ; stripslashes Functie Zodra u hebben omgezet apostrof in data variabelen om backslash - apostrofs , moet u mogelijk om ze te converteren naar normale data . De PHP stripslashes functie voert deze taak uit voor u in een enkele stap . Gebruik het als in het volgende voorbeeld : $ tag_line = stripslashes ( $ tag_line ) ;
|