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

Duvida na criação da função

function trocaSql($conexao,$tipo){
$tipo=  mysqli_real_escape_string($conexao,$tipo);
}

--------------------------------------------------------------------------------------------------

function insereProduto($conexao, $nome, $preco, $descricao, $categoria_id,$usado) {
    trocaSql($conexao,$nome);
      $query = "insert into produtos (nome, preco, descricao, categoria_id,usado) values ('{$nome}', {$preco}, '{$descricao}', {$categoria_id},{$usado})";
 //  var_dump($query);
    return mysqli_query($conexao, $query);
}

Quando eu chamo a função dentro da outra função elas não se comunicam.

6 respostas

Isso acontece porquê você está enviando a variável para a função, esta aplicando o mysqli_real_escape_string, mas não está executando um retorno.

function trocaSql($conexao,$tipo){
$tipo=  mysqli_real_escape_string($conexao,$tipo);
return $tipo;
}

--------------------------------------------------------------------------------------------------

function insereProduto($conexao, $nome, $preco, $descricao, $categoria_id,$usado) {
    $nome = trocaSql($conexao,$nome);
      $query = "insert into produtos (nome, preco, descricao, categoria_id,usado) values ('{$nome}', {$preco}, '{$descricao}', {$categoria_id},{$usado})";
 //  var_dump($query);
    return mysqli_query($conexao, $query);
}

Olá eu coloquei dessa forma mas, dava o mesmo erro..

Quer erro esta te retornando?

Qual o motivo de colocar a função mysqli_real_escape_string dentro de uma outra função chamada trocaSql? Qual ganho? Não vejo motivo.

ele simplesmente não funciona a função dentro da outra, não recebe o valor, o return não funciona também, essa foi a primeira coisa que tentei... o meu objetivo é o seguinte passar o parâmetro por exemplo $nome e usar mysqli_real_escape_string($conexao,$nome);

para poder automatizar o processo não criar um copy paste, de códigos sacou?

solução!

Coloca um echo na função trocaSql() ou algo do tipo, pra ter certeza que ela não está sendo chamada. Talvez sua string só não esteja sendo alterada, pois não tem nenhuma alteração mesmo a ser feita nela, não?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software