Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Chirlison

Uso deo mysql_real_escape_string

Recommended Posts

Bom dia a todos!

Pessoal estou utilizando o mysql_real_escape_string na hora de pegar os dados do formulário para inserir no banco de dados dessa forma:

 

$descricao = mysql_real_escape_string($_POST['descricao']);

O texto tem imagem no meio e ao cadastrar o texto no banco de dados o caminho da imagem fica dessa forma:

 

<p><img src=\"../fotos_editor/matricula_informacoes_gerais_clip_image002.jpg\" alt=\"\" width=\"619\" height=\"148\" /></p>

 

O problema é que na de mostrar o texto na página a imagem não é carregada por causa da forma como o caminho dela é inserida no banco de dados.

Veja abaixo como busco os dados no banco de dados:

<?php

include "config/config.php";
$busca=mysql_query("SELECT * FROM elv_informacoes_gerais WHERE status='publicado(a)' AND id=10");
if(!mysql_num_rows($busca)){
echo 'Nenhum dado cadastrado na base de dados';
}else{
while($ver=mysql_fetch_assoc($busca)){
$id=$ver['id'];
$nome=$ver['nome'];
$descricao = $ver['descricao'];
//$descricao = str_replace('../fotos_editor/', 'admin/fotos_editor/', "$descricao");
$imagem = 'admin/informacoes_gerais/'.$ver['imagem'];

}
}

?>

[code/]

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estranho, mysql_real_escape_string não deveria fazer isto... de qualquer sorte stripslashes desfaz o efeito, então use ele para resolver o problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como o ESerra disse, mysql_real_escape_string só deveria escapar as aspas, sem gerar esse problema.

 

Provavelmente sua aplicação já estava adicionando esse escape (usando magic_quotes ou addslashes()), por isso o escape é feito duas vezes. Reveja esses detalhes

 

Uma forma mais eficiente seria usar Prepared Statements. Faria os escapes e já preveniria contra SQL Injection

 

 

PS: funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.