Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Nemôžem vložiť apostrof Do MySQL

Apostrof predstavuje problém vo všetkých SQL dialektov používaných pre programovanie databáz . Pre MySQL , rovnako ako v iných verziách SQL , programátori obklopujú znaková dáta s apostrofmi vložiť dáta do tabuľky , aktualizujte ho alebo vykonávať iné databázové funkcie . Problém nastáva , keď postava údaje v sebe obsahuje apostrofy sú interpunkčné znamienka . Riešenie spočíva v umiestnení špeciálneho znaku bezprostredne predchádzajúci žiadne apostrofy v znaková dáta . Apostrof Oddeľovač

MySQL verzie SQL , musíte signalizujú začiatok a koniec reťazca buď s apostrofov alebo úvodzoviek . Obidva nasledujúce príklady sú validné :

INSERT INTO COMPANY_TABLE ( company_name ) HODNOTY " The Fish Shack " ;

INSERT INTO COMPANY_TABLE ( company_name ) HODNOTY " The Fish Shack " ;

Nasledujúci príklad však vytvára chybu :

INSERT INTO COMPANY_TABLE ( tag_line ) HODNOTY " Jedzte Joe - je to dobré jedlo ! " ;

SQL chce interpretovať reťazec ako " " Jedzte v Joe " , " so všetkým , čo po druhej apostrof ako chybné . Nasledujúci text nie je problém vyriešiť :

INSERT INTO COMPANY_TABLE ( tag_line ) HODNOTY " Jedzte Joe - je to dobré jedlo ! " ;

By to fungovať , ak je text mal iba jeden apostrof medzi dvojité úvodzovky , ale tento text má dve . Tiež preto, že niektoré webové stránky programovacie jazyky používajú úvodzovky samy , možno budete chcieť , aby sa zabránilo ich použitie v SQL .
Dvojitých úvodzoviek a spätné lomítko Útek

MySQL riešenie je interpretovať dva apostrofy v rade - '' - ako jediný dátový znak citátom . Spätné lomítko , alebo " \\ " , ktorý bezprostredne predchádza apostrof dát má rovnaký účinok . MySQL zaobchádza kombináciu spätnej lomky a ďalšie špeciálne znaky ako escape sekvencie , účinne vytvára jeden znak z dvoch . Obidva nasledujúce príklady vyriešiť problém :

INSERT INTO COMPANY_TABLE ( tag_line ) HODNOTY " Jedzte Joe '' s - to '' s Good Food ! " ;

INSERT INTO COMPANY_TABLE ( tag_line ) HODNOTY " Jedzte Joe \\ ' s - to \\ ' s Good Food ! " ;

Keď napíšete programy , ktoré vytvárajú príkazy MySQL , musíte sa najprv prehľadá všetky vaše textové reťazce a pridať jeden apostrof alebo spätné lomítko pred akýmkoľvek apostrofy vo vašich dát .
addslashes funkcia

PHP Web programovací jazyk , sa často používa v spojení s MySQL , má addslashes funkcie postavený v roku automaticky previesť apostrofy na spätné lomítko - apostrof pary . Jednoducho vykonávať funkciu na dátové reťazca ako v tomto príklade :

$ tag_line = addslashes ( $ tag_line ) ;
stripslashes

Akonáhle Funkcia
boli prevedené apostrofy v dátových premenných , ktoré majú spätné lomítko - apostrofy , budete musieť previesť späť na normálnu dáta . Funkcie PHP stripslashes plní túto úlohu pre vás v jednom kroku . Používajte ju ako v nasledujúcom príklade :

$ tag_line = stripslashes ( $ tag_line ) ;

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené