Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Função que gera códigos SQL


Sonyer

Pergunta

Boa tarde pessoal,

Gostaria de saber se alguém conhece uma função para criar códigos SQL, dávamos somente a tabela e os arrays com informações e o tipo de chamada que queremos, por exemplo:

$values = array(
'coluna1' => $_GET['querystring']
)

$db->gerarsql('insert', 'tabela');

E este código imprimia um código SQL do tipo

INSERT INTO 'tabela' VALUES...

Entendem?

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Conhecer eu não conheço nunca foi necessário para mim fazer algo do tipo.

Mas não é difícil fazer uma função assim, e dependendo do que você deseja, talvez nem seja necessário criar uma função.

Eu poderia dar um exemplo, se explicasse melhor o que deseja.

Link para o comentário
Compartilhar em outros sites

  • 0

bom, segue um exemplo:

function gerarsql($query, $tabela, $valor) {   
if($query=="insert"){
$query_c = 'INSERT INTO '.$tabela.' VALUES ('.$valor.')';
}
elseif($query=="select"){
$query_c = 'SELECT * FROM '.$tabela.' WHERE '.$valor.'';
}
else{
$query_c = 'Query desconhecida.';
}
return $query_c;
}

mas não é muito prático, você vai ter que preparar bem os valores antes de mandar pra função.

edit.: fiz a mão agora, então pode ser que não esteja 100% correto.

Editado por Vampyro
Link para o comentário
Compartilhar em outros sites

  • 0

Sim, é mais ou menos assim!

O que queria era que para ficar mais fácil eu pudesse usar um array com valores e chaves, a chave representa a coluna e o valor o valor mesmo, por exemplo:

$values = array(
'coluna' => $_GET['querystring'],
'coluna2' => $_GET['querystring1']
)
Gerava:
INSERT INTO 'tabela' (coluna, coluna2) VALUES('123', '456')

Ai fica a praticidade!

Link para o comentário
Compartilhar em outros sites

  • 0

Esse insert que você deseja ficaria assim:

function gerarinsert($tabela, $_valores) {
    $tipos = '';
    $valores = '';

    foreach($_valores as $chave => $valor) {
        $tipos .= $chave . ', ';
        $valores .=  '\'' . $valor . '\', ';
    }

    $tipos = trim($tipos, ', ');
    $valores = trim($valores, ', ');

    return "INSERT INTO '{$tabela}' ({$tipos}) VALUES ({$valores});";
}

echo gerarinsert("clientes", array("nome" => "Joao",
                             "idade" => 24));

INSERT INTO 'clientes' (nome, idade) VALUES ('Joao', '24');

Abraços!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...