• Català
  • Castellano
  • English


Cometa simple, doble i contrabarra


He fet una web amb php i m'he adonat que mentre feia les proves a casa, quan escrivia cometa simple i la contrabarra, a l'intentar ficar-ho a la BD entrava amb confusió amb la cometa simple de la sentència SQL, per aquest motiu modificava totes les cometes simples, dobles i la contrabarra per una contrabarra i el signe corresponent. Llabors funcionava correctament.

Després, al penjar-ho del servidor de la web, he pogut comprovar que el php ja rebia aquests caràcters precedits de la contrabarra abans de esser enviats a la BD, i per aquest motiu el sistema m'afegia cada cop més contrabarres. Vaig haver de treur-ho per que funcionés.

Algú sap perquè passa això? Potser es alguna configuració del PHP on s'estableix com es codifiquen alguns dels caràcters? Si algú en té informació ho agrairia.

Opcions de visualització de comentaris

Selecciona la vostra manera preferida de visualitzar els comentaris i feu clic en "Desa la configuració" per activar els canvis.

És un formulari?

Si en el php.ini tens la opció magic_quotes_gpc=On totes les dades obtingudes mitjançant get, post i cookies s'hi apliquen les contrabarres automàticament per estalviar feina. En canvi si obtens les dades d'una consulta a la base de dades i ho vols inserir a unaltre banda directament si que has de fer el addslashes() per afegir-hi les contrabarres.

Si desactives aquesta opció però ho hauràs de fer sempre tu a mà amb addslashes a tot arreu.

Gràcies

Avui ho provaré