Jump to content


Photo

Aspas Simples Em Mysql


  • Faça o login para participar
9 replies to this topic

#1 angelripper

angelripper

    Novato no fórum

  • Usuários
  • 23 posts
  • Sexo:Não informado

Posted 19/03/2004, 07:15

Pessoal, estou com um problema aqui na gravaçao de dados no MySQL usando o PHP. Eu tenho um campo onde o usuário digita um texto e este texto é gravado numa tabela. Porém, quando o usuário digita algo como por exemplo : "Este é um texto de 'exemplo'.", o MySQL registra apenas "Este é um texto de /" e ignora tudo o que vem depois da aspa simples. Isto deve acontecer devido a query de insert interpretar como fechamento do comando.

Há alguma maneira de contornar isto?

Desde já agradeço.

#2 <? K3RN3L_P4N1C ?>

<? K3RN3L_P4N1C ?>

    <? PHP4N1C ?>

  • Usuários
  • 287 posts
  • Sexo:Não informado
  • Localidade:Sinop - MT

Posted 19/03/2004, 08:39

Olá angelripper,

Antes de você gravar no seu Banco de Dados você vai usar o comando htmlspecialchars();

exemplo:

$cTexto = "Atirei o pau no 'gato', mas o gato...";

$cTexto = htmlspecialchars($cTexto);

O htmlspecialchars() vai fazer com que os caracteres "proibidos" tipo tags ou aspas se convertam em caracteres especiais como estes: &lt; &gt; que significam as tags < >
<?
$nome = Tiago Leão;
$nick = <? K3RN3L_P4N1C ?>;
$email = tiagoacl@ig.com.br;
$icq = 124996176;
$interesses = PHP;

//Acredite em Jesus, porque ele ja acreditou em você um dia...

?>

#3 Marcão

Marcão

    Marcãaaaaaaaao

  • Usuários
  • 1754 posts
  • Sexo:Não informado
  • Interesses:Faixa preta de Muay-Thay<br>Faixa Roxa de Jiu-Jitsu<br>:D<br>Um dia eu chego lá

Posted 19/03/2004, 08:48

Mestre!!
Marcão -=- PHP é coisa de MESTRE e falo mais nada -=-
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de
Deus e vai.."

#4 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 19/03/2004, 09:05

Uma outra função seria o addslashes(), e depois o stripslashes() para apresentar o resultado:

<?php
$frase = "Este é um texto de 'exemplo'.";
$frase = addslashes($frase);
// Aqui viria o comando mysql
echo $frase;

// E aqui quando for apresentar o resultado no navegador
$frase = stripslashes($frase);
echo $frase;
?>


O comando addslashes() adiciona \ na frente de todas as aspas (' ") e o stripslashes() reverte.
Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#5 angelripper

angelripper

    Novato no fórum

  • Usuários
  • 23 posts
  • Sexo:Não informado

Posted 19/03/2004, 09:48

O esquema do htmlspecialchars() nao funcionou nao. Ele permanece gravando até encontrar as aspas simples. Eu vou tentar a dica do companheiro com o addslash().

O que é estranho é que antes de aplicar o htmlspecialchars() eu dou um echo da variável para ver como ela está indo e as barras aparecem antes dos caracteres especiais. Tá meio louco isto.

#6 angelripper

angelripper

    Novato no fórum

  • Usuários
  • 23 posts
  • Sexo:Não informado

Posted 19/03/2004, 10:05

O addslashes também nao funcionou. Se eu posto um texto como :
-- Este é um 'exemplo' --
Se sou um echo antes ele me mostra :
-- Este é um /'exemplo/' --
Aplico a funcao addslashes() e ele me grava no banco :
-- Este é um // --

:-(

#7 <? K3RN3L_P4N1C ?>

<? K3RN3L_P4N1C ?>

    <? PHP4N1C ?>

  • Usuários
  • 287 posts
  • Sexo:Não informado
  • Localidade:Sinop - MT

Posted 19/03/2004, 11:32

O esquema do htmlspecialchars() nao funcionou nao. Ele permanece gravando até encontrar as aspas simples. Eu vou tentar a dica do companheiro com o addslash().

O que é estranho é que antes de aplicar o htmlspecialchars() eu dou um echo da variável para ver como ela está indo e as barras aparecem antes dos caracteres especiais. Tá meio louco isto.

Poderia postar como colocou a função htmlspecialchars(), e como você esta gravando no banco de dados ??
<?
$nome = Tiago Leão;
$nick = <? K3RN3L_P4N1C ?>;
$email = tiagoacl@ig.com.br;
$icq = 124996176;
$interesses = PHP;

//Acredite em Jesus, porque ele ja acreditou em você um dia...

?>

#8 angelripper

angelripper

    Novato no fórum

  • Usuários
  • 23 posts
  • Sexo:Não informado

Posted 19/03/2004, 11:36

Claro. Segue abaixo.

$colunista = $_POST['colunista'];
$titulo = $_POST['titulo'];
$descricao = $_POST['descricao'];
$data = $_POST['data'];
$texto = $_POST['texto'];

$texto = htmlspecialchars($texto, ENT_QUOTES);

$db = mysql_connect("localhost", "xxxxxxxx", "");
mysql_select_db("xxxxxxxxxxx",$db);

mysql_query("INSERT INTO tbl_texto VALUES (NULL, '$colunista', '$titulo', '$descricao', '$data', '$texto')", $db);

#9 angelripper

angelripper

    Novato no fórum

  • Usuários
  • 23 posts
  • Sexo:Não informado

Posted 19/03/2004, 11:52

Pessoal, consegui a solucao. Como descobri que o php do servidor automaticamente metia as /'s no conteúdo, usei uma combinacao das dicas dos colegas:

$texto = stripslashes($texto);
$texto = htmlspecialchars($texto, ENT_QUOTES);

Valeu mesmo! Voces sao F****!!!

#10 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 13201 posts

Posted 12/09/2017, 18:15

Propecia Generica Online cialis Rxhealth
Cialis Generico Esiste Buy Pfizer Viagra Uk Buy
Provera Medicine In Us Cash Delivery <a href=http://cialtobuy.com>online pharmacy</a> Low Cost Alternatives And Viagra
Priligy Sildenafil Dapoxetine cialis online Free Dysfunction Samples
Viagra Naturale
Blastofen 20mg <a href=http://cialtobuy.com>online pharmacy</a> Propecia Minoxidil Nisim
Propecia Samples Online cialis Want To Buy Doxycycline
Online Cialis Sales
Nebenwirkungen Viagra Alkohol <a href=http://cialtobuy.com>cialis</a> Amoxicillin Yeast Infection




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq