Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

mysqli_real_escape_string($conexao, $string);

Boa noite pessoal,

Entendi o pq do uso do Mysqli real escape string, a minha dúvida é a seguinte pq ele recebe a conexão como primeiro parâmetro, uma vez que ele tem que fazer o escape da string e só depois no codigo que vamos submeter a query ao banco para ai sim passar a conexão e realizar a consulta, pq no comando para fazer o escape da string eu preciso passar a conexão?

Att.

3 respostas
solução!

Oi João, tudo bem? Boa pergunta, as vezes as pessoas passam por essas sem saber, mas vamos lá, por que passar a conexão? Por que o banco pode ter um charset diferente da escrita do arquivo, do sistema operacional ou qualquer outro recurso do qual o PHP poderia identificar o charset, isso quer dizer que, dependendo do charset do banco, o escape dos caracteres pode ser diferente, por isso a gente fornece a conexão. Pegou a ideia?

Vou deixar link da documentação pra você ler mais caso se interesse: http://php.net/manual/en/mysqli.real-escape-string.php

Muito obrigado, Wanderson Macêdo já até tinha procurado na documentação não sei se não me atentei mas não achei essa explicação dos parâmetros lá, tem?

Att.

Oi João, tem sim, neste mesmo link que te passei, no texto que se encontra logo perto do título da funcionalidade. Está escrito assim:

mysqli::real_escape_string -- mysqli_real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection