kunne det være 80'erne, der er problemet?
Kig godt på dit endelige statement:
- UPDATE tekst
- SET overskrift = 'SLIPSEKNUDEN 3',
- tekst = 'Slipseknuden blev etableret i 1984 da og blev straks kendt som en butik med slips i de aller fineste kvalietsslips. Tilbage i 80'erne var der 5 ansatte og siden er det gået enormt stærkt, i dag er slipseknuden en verdensomspændende æde af slipsebutkker fordelt i hele europa med tusindvis af ansatte. Slipseknuden har kun det ypperste indenfor slips. Hos os finder du kvalitetsvarer der er usammenlignelige med andre slips. Et slips fra os vil bliver bemærket overalt du måtte færdes. Vores slips signalere kvaltet og god smag! 3'
- WHERE tekst_id = 2
Dette vil fejle, da din ' i din tekst (80'erne) har en betydning i SQL, og derfor skal escapes (du kan tilmed se problemet illustreret af code-highlight).
Hvis du derimod afvikler følgende udtryk:
- UPDATE tekst
- SET overskrift = 'SLIPSEKNUDEN 3',
- tekst = 'Slipseknuden blev etableret i 1984 da og blev straks kendt som en butik med slips i de aller fineste kvalietsslips. Tilbage i 80''erne var der 5 ansatte og siden er det gået enormt stærkt, i dag er slipseknuden en verdensomspændende æde af slipsebutkker fordelt i hele europa med tusindvis af ansatte. Slipseknuden har kun det ypperste indenfor slips. Hos os finder du kvalitetsvarer der er usammenlignelige med andre slips. Et slips fra os vil bliver bemærket overalt du måtte færdes. Vores slips signalere kvaltet og god smag! 3'
- WHERE tekst_id = 2
vil det spille, antaget at din tabel hedder "tekst", har kolonnerne "tekst_id", "overskrift" og "tekst", samt en record med tekst_id = 2.
Prøv det evt. af i en SQL editor (phpMyAdmin er fin), så du kan se og forstå forskellen
Løsningen på problemet finder du i mysql_real_escape_string()
Se her
Indlæg senest redigeret d. 25.08.2014 12:10 af Bruger #12476