Programação  
 
Conhecimento computador >> Programação >> Programação PHP /MySQL >> 
Não é possível inserir um apóstrofo no MySQL
O caractere apóstrofo representa um problema em todos os dialetos SQL utilizados para a programação de banco de dados. Para o MySQL , como em outras versões do SQL , os programadores cercam dados de caracteres com apóstrofo para inserir dados em uma tabela, atualizá-lo ou para executar outras funções de banco de dados . O problema surge quando os dados de caracteres em si contém apóstrofos como sinais de pontuação. A solução está em colocar um caractere especial imediatamente anterior qualquer apóstrofos em dados de caracteres. Apostrophe delimitador

Na versão MySQL de SQL , você sinalizar o início eo fim de uma string com aspas simples ou duplas . Ambos os exemplos a seguir são válidos :

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

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

o exemplo a seguir , no entanto, cria um erro:

INSERT INTO COMPANY_TABLE ( tag_line ) VALORES ' Coma em Joe - é boa comida! ';

SQL quer interpretar a string como " ' Coma no Joe " , " com tudo após a segunda apóstrofo como errônea. O texto a seguir não corrigir o problema:

INSERT INTO COMPANY_TABLE ( tag_line ) VALORES " Coma em Joe - É boa comida!" ;

Isso funcionaria se o texto tinha apenas um apóstrofo entre as aspas duplas , mas este texto tem dois. Também, porque algumas linguagens de programação de páginas da Web usar próprios aspas , você pode querer evitar usá-los no seu SQL.
Duplo Apóstrofes e de escape barra invertida

solução do MySQL é interpretar dois apóstrofos em uma fileira - '' - como um único caractere dados sobre cotações . A barra invertida , ou "\\ ", imediatamente anterior um apóstrofo em dados tem o mesmo efeito . MySQL trata a combinação de barra invertida e outros caracteres especiais , como uma seqüência de escape , efetivamente criando um personagem de dois. Ambos os exemplos seguintes resolver o problema :

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

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

Quando você escreve programas que criam declarações do MySQL , você deve primeiro verificar todos os seus seqüências de texto e adicionar qualquer um apóstrofo ou barra invertida antes de qualquer apóstrofos em seus dados .
addslashes função

A linguagem de programação web PHP, freqüentemente usado em conjunto com o MySQL, tem uma função addslashes construído em para converter automaticamente apóstrofos a barra invertida - apóstrofo pares . Basta executar a função em suas cadeias de dados , como neste exemplo:

$ tag_line = addslashes ( $ tag_line );
stripslashes Função
Uma vez

você
ter convertido apóstrofos em variáveis ​​de dados a barra invertida - apóstrofos , você pode precisar convertê-los de volta para dados normais. A função stripslashes PHP executa essa tarefa para você em um único passo. Use-o como no exemplo a seguir :

$ tag_line = stripslashes ( $ tag_line );

Anterior :

Próximo : No
  Os artigos relacionados
·Como Ler Consulta Cordas em PHP 
·Qual é o limite de caracteres PHP Mail 
·Como analisar PHP Script em um site ASP.net 
·Como criar XML para o Google Maps 
·Como instalar um PHP para Serializer XML 
·Função PHP em um cookie 
·Comparação da CFM para PHP 
·Como ativar o DOP para PHP Library no Go Daddy 
·A PHP registro de todas as consultas MySQL 
·Sendmail Vs . PHP Mail 
  Artigos em destaque
·Como Recuperar uma coluna vinculada 
·Como fazer Cin.Fail 
·Como corrigir o erro de sintaxe 1087 Com Jogo Movimento…
·Como editar margens no JEditorPane 
·Que faz a média de saturação de buffer 
·Como criar uma filial SVN de um arquivo vivo 
·Por que eu recebo uma mensagem Javascript Vazio 
·O código HTML para Highlights Fundo 
·Tipos de erros cadeia de formato 
·Como converter uma data em UTC utilizando Java 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados