Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1254
Sexo: Masculino

Update não aceita apóstrofo ou aspas simples

06-01-2015 12:38

Olá!

Estou testando cadastros no código que estou desenvolvendo, e está havendo, no servidor remoto, uma ocorrência que não se dá no servidor local.

O update no servidor remoto não está aceitando o sinal apóstrofo, também chamado de aspas simples, num texto.

Por exemplo, estou tentando inserir teste's, acusando-se o seguinte erro:

Você tem um erro de sintaxe no seu SQL próximo a 's' WHERE au1 = '2'' na linha 1.

O código utilizado é este:

$qup_tbl_ifp = mysql_query("update aip set tit = '".$_POST['tit']."', tex = '".$_POST['tex']."' where au1 = '".$_POST['au1']."'") or die (mysql_error()); 

Com disse acima, tal ocorrência não se dá no servidor local que utilizo, apenas no servidor remoto.

Acionei o Helpdesk do provedor de hospedagem, onde forneceram a seguinte resposta:

"Analisamos e este problema é relacionado a sintaxe, verifique junto a documentação do SQL para obter maiores informações sobre este problema".

Você podem me ajudar nessa situação? A sintaxe acima está errada? Por quê o erro somente é acusado no servidor remoto? Poderia haver outro problema que não o de sintaxe?

Grato.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Update não aceita apóstrofo ou aspas simples

06-01-2015 12:57

A função addslashes deve resolver esse problema http://php.net/manual/pt_BR/function.addslashes.php

A função vai escapar alguns caracteres, no caso, aspas, adicionando um barra invertida antes dos mesmos.

<?php $v = " ' "; echo addslashes($v); ?>

Na hora de exibir os valores salvos, você vai ter que reverter o processo, usando a função stripslashes
http://php.net/manual/pt_BR/function.stripslashes.php
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1254
Sexo: Masculino

Update não aceita apóstrofo ou aspas simples

07-01-2015 07:50

Bom dia! Cara, é isso mesmo. Havia encontrado a solução, mas sem informação de reverter o processo na exibição. Testei a inserção e deu certo. Obrigado pela força.
0
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1254
Sexo: Masculino

Re: Update não aceita apóstrofo ou aspas simples

20-10-2015 11:05

Olá! Fui deixando algumas coisas do desenvolvimento para trás, anotando os erros para posterior correção, e não estou conseguindo resolver este, que tem a ver com este meu post do princípio do ano. Posso colocar a dúvida aqui? Se não puder, abrirei outro título. Estou usando addslashes para inserir os dados no banco de dados e stripslashes para exibir o texto. Porém, as barras invertidas estão sendo inseridas no banco de dados multiplicadas, e exibidas no texto.

Para cadastro dos dados, que faço com update (pois há um registro inicial de dados que faço através de insert, para, depois, se ir à página de cadastro do texto), e alterá-los, estou utilizando UPDATE, através do código abaixo:

$tit_adl = addslashes($_POST['tit']); $tex_adl = addslashes($_POST['tex']); //echo $tit_adl; echo "&nbsp;-&nbsp;"; echo "variável tit_adl"; echo "<br>"; //echo $tex_adl; echo "&nbsp;-&nbsp;"; echo "variável tex_adl"; echo "<br>"; $qup_tbl_ntc = mysql_query("update $tbn set tit = '".$tit_adl."', tex = '".$tex_adl."' where nt1 = '".$_POST['nt1']."'") or die (mysql_error()); //$qup_tbl_ntc = mysql_query("update $tbn set tit = '".$_POST['tit']."', tex = '".$_POST['tex']."' where nt1 = '".$nt1."'") or die (mysql_error()); //echo $qup_tbl_ntc; echo "&nbsp;-&nbsp;"; echo "update variável qup_tbl_ntc"; echo "<br>";

Para exibir, este código:

$tit = stripslashes_deep_icd($asc_tbl_ntc_enc_2['tit']); $tex = stripslashes_deep_icd($asc_tbl_ntc_enc_2['tex']); //echo $tit; echo "&nbsp;-&nbsp;"; echo "variável tit"; echo "<br>"; //echo $tex; echo "&nbsp;-&nbsp;"; echo "variável tex"; echo "<br>";

Quando do cadastro, o texto é mostrado assim: "TEXTO". A primeira alteração mostra: \"TEXTO\". A segunda alteração mostra: \\\"TEXTO\\\". A terceira alteração mostra: \\\\\\\"TEXTO\\\\\\\". A quarta alteração mostra: \\\\\\\\\\\\\\\"TEXTO\\\\\\\\\\\\\\\". E assim vai.

Por quê isto pode estar ocorrendo?

Grato.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Update não aceita apóstrofo ou aspas simples

20-10-2015 11:17

Se você tentar inserir o texto sem o uso das funções para adicionar a barra invertida antes das aspas, dá problema no seu sistema?

Qual o objetivo de uso da barra invertida?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1254
Sexo: Masculino

Re: Update não aceita apóstrofo ou aspas simples

02-11-2015 13:49

Boa tarde! Desculpe por não haver respondido antes, pois estou tendo dificuldade no acesso. Antes de responder à pergunta de sua resposta, você pode me ajudar com isso? O sistema mudou e não consigo acessar minhas postagens pelo painel de controle. Também não consigo enviar mensagens privadas. Tento inserir o nome do destinatário na mesma ele não é inserido. Consegui acessar esta postagem digitando no Google meu nome de usuário e o nome do site. Grato.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Update não aceita apóstrofo ou aspas simples

02-11-2015 15:13

Realmente a função de busca do próprio tópico estava desativada, já ativei.
Faça uma limpeza do seu cache no navegador, em seguida clique no nome do seu usuário na direita no topo, e escolha Painel de controle do usuário.
Na primeira página você deverá ver o link: Ver as suas mensagens.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1254
Sexo: Masculino

Re: Update não aceita apóstrofo ou aspas simples

08-11-2015 13:11

Olá! Grato por regularizar o acesso. Quanto ao assunto do tópico, a barra invertida é para se exibir a palavra dentro de aspas, antes da de abertura e da de fechamento (está correto, né?). Ocorre que a cada update, as barras são multiplicadas. Como posso inserir o texto para ser exibido entre aspas da maneira como você sugeriu? Grato, novamente.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Update não aceita apóstrofo ou aspas simples

08-11-2015 20:26

Eu fiz uns testes aqui e foi como falei mais acima. Para atualizar o valor passa antes pela função addslashes. E na hora de mostrar passa o texto pela função stripslashes.

Eu vou te passar um exemplo aqui que eu testei para você ver como funciona.

<?php // CONEXÃO COM O BD $conexao = mysql_connect("localhost", "teste", "teste") or die(mysql_error()); mysql_select_db("teste"); // SELECIONANDO O campotal DA minhatabela $selec = "SELECT * FROM datas WHERE oid='1'"; $exec = mysql_query($selec, $conexao) or die(mysql_error()); ?> <?php if(isset($_POST['submit'])) { mysql_query("UPDATE datas SET nome='".addslashes($_POST['texto'])."' WHERE oid='1'") or die(mysql_error()); mysql_query($selec); header("Location:teste.php"); } ?> <form action="teste.php" method="post"> <textarea name="texto"> <?php while($campos=mysql_fetch_array($exec)) { extract($campos); echo stripslashes($nome); } ?> </textarea> <input type="submit" name="submit"> </form>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1254
Sexo: Masculino

Re: Update não aceita apóstrofo ou aspas simples

16-11-2015 19:46

Vou tentar como você sugeriu. Mas estou utilizando esses comandos.
1

Quem está online

Usuários navegando neste fórum: Google [Bot]