Ícone do site Linha de Comando

PHP-MySQL: Inserindo aspas simples, aspa dupla no banco de dados

Um problema que encontrei e compartilho com vocês, é que ao inserir um dado no banco de dados contendo alguns tipos de caracteres, podem causar erro.

Caracteres que podem causar problemas de inserção: apóstrofo (‘), aspas(“) e barra invertida(\).

Exemplo de texto a ser gravado:
Olá D’arrrrr, seja bem-vindo ao ‘linhadecomando.com’.

“Imagine que você digitou o texto acima num campo do seu formulário e agora quer gravar no banco. Se fizer o insert direto deste texto vai dar erro”.

Para resolver este problema você vai precisar da função addslashes();

segue exemplo:


  $titulo_noticia = addslashes($_POST['titulo_noticia']);
  INSERT INTO noticias (titulo_noticia) VALUES ('$titulo_noticia');
?>

Dica: Primeiro, converta a string (texto) com a função addslashes() e então, execute o INSERT.

Outra solução:
https://www.php.net/manual/en/filter.filters.sanitize.php

$titulo_noticia = filter_var($_POST['titulo_noticia'], FILTER_SANITIZE_MAGIC_QUOTES);

Até a próxima!

Sair da versão mobile