“Conocimiento Programación>Programación PHP /MySQL

No puedo insertar un apóstrofo en MySQL

2013/5/27
El carácter de apóstrofo presenta un problema en todos los dialectos SQL utilizadas para la programación de bases de datos . Para MySQL , como en otras versiones de SQL , los programadores rodean datos de caracteres con apóstrofes para insertar datos en una tabla, actualizar o realizar otras funciones de base de datos . El problema surge cuando los propios datos de caracteres contiene apóstrofes como signos de puntuación . La solución está en la colocación de un carácter especial que precede inmediatamente cualquier apóstrofes en datos de caracteres. Apostrophe delimitador

En la versión de MySQL SQL , que señalan el principio y el final de una cadena con comillas simples o comillas dobles . Los dos ejemplos siguientes son válidos :

INSERT INTO COMPANY_TABLE ( company_name ) VALORES ' The Fish Shack ' ;

INSERT INTO COMPANY_TABLE ( company_name ) VALORES " The Fish Shack " ;
< p > En el ejemplo siguiente, sin embargo , genera un error:

INSERT INTO VALORES COMPANY_TABLE ( tag_line ) ' Eat at Joe - Es buena comida! " ;

SQL quiere interpretar la cadena como " ' Comer en Joe ' , " con todo lo que después de la segunda apóstrofe como errónea . El siguiente texto no se soluciona el problema:

INSERT INTO VALORES COMPANY_TABLE ( tag_line ) " Eat at Joe - Es buena comida!" ;

Esto funcionaría si el texto sólo tenía un apóstrofe entre las comillas dobles , pero este texto tiene dos. Además, debido a que algunos lenguajes de programación de páginas Web utilizan comillas sí , es posible que desee evitar su uso en el SQL .
Apóstrofes dobles y solución Backslash escape

de MySQL es interpretar dos apóstrofes en una fila - '' - como un solo carácter de datos cotización. Una barra invertida o " \\ ", inmediatamente antes de un apóstrofe en los datos tienen el mismo efecto. MySQL trata la combinación de barra invertida y otros caracteres especiales, como una secuencia de escape , creando un personaje de cada dos . Los dos ejemplos siguientes solucionar el problema :

INSERT INTO VALORES COMPANY_TABLE ( tag_line ) ' Coma en Joe '' s - It'' s Good Food ' ;

INSERT INTO COMPANY_TABLE ( tag_line ) VALUES ' Eat at Joe \\ ' s - It \\ ' s Good Food ! ' ;

al escribir programas que crean estados de MySQL , primero debe explorar todas las cadenas de texto y añada ya sea un apóstrofe o barra invertida antes de que los apóstrofes en sus datos.

función addslashes

El lenguaje de programación web PHP , que se utiliza con frecuencia en combinación con MySQL, tiene una función integrada en addslashes para convertir automáticamente apóstrofes a pares barra invertida - apóstrofe . Basta con realizar la función de sus cadenas de datos como en este ejemplo :

$ tag_line = addslashes ($ tag_line ) ;
stripslashes Función

Una vez que han convertido apóstrofes en las variables de datos de escape al apóstrofes , es posible que necesite para convertir de nuevo a los datos normales. La función stripslashes PHP realiza esta tarea para usted en un solo paso. Úselo como en el siguiente ejemplo :

$ tag_line = stripslashes ($ tag_line ) ;

Programación PHP /MySQL
Cómo imprimir un archivo en un correo electrónico PHP
Cómo conseguir Índice una matriz de elemento en PHP
Cómo agregar un Formulario de Información de PHP
Salario de Junior PHP Developer
¿Cómo combino columnas con MySQL
Cómo eliminar subcadenas en MySQL
Cómo convertir un ICO a BMP en PHP
¿Qué es numérica en Oracle SQL
Conocimiento de la computadora © http://www.ordenador.online