Insert mysql bem mais fácil

O Jeison Frasson escreveu (ou copiou) isso no dia 12/08/2009 Voltar

Quantas vezes você não deu aquela enroscadinha básica a té descobrir que na query tinha uma coluna escrita errada, ou falto algum campo e por ai vai...

Com esta função seus problemas acabaram de verdade pois basta passar o nome da tabela e as colunas e valores orientados em um array

Vamos pensar em alimentar a tabela produtos como os campos nome e valor

 

jf_insert('tabela', array('nome' => 'produto a', 'valor' => '30.00'));

 

Ok vamos pensar ainda em facilitar mais a sua vida, imagine que você tenha esses dados em um formulario algo assim:

 

<form method="post">
    <div>
        <label>Nome</label>
        <input type="text" name="nome" />
    </div>
    <div>
        <label>Valor</label>
        <input type="text" name="valor" />
    </div>
</form>

 

Quer saber como vai ficar para fazer esses campos adicionarem no banco de dados...

jf_insert('tabela', $_POST);

E ai gostou ou quer mais?

Sim ela retorna algo... retorna false pare erros e a query em sucesso

Quer saber qual foi a chave primaria adicionada é só dar um:

echo $jf_ultimo_id

Segue a função... mais uma do pacote jf.funcoes

 

function jf_insert($tabela, $dados){
	/*
	//Descrição
	jf_insert(string $tabela, array $dados)
	monta e execulta uma query de insert em mysql	
		
	// Parametros
	$table
	nome da tabela que estará sendo feito o insert
	
	$dados
	Dados que serão inseridos na tabela em forma de array
		
	$dados = array(
			'coluna' 	=>	'dado',
			'coluna2' 	=>	'dado2'
			);	

	// Retorno
	retorna a query montada para conferência, porem ela será execultada 
	retorna também a variável  $jf_ultimo_id que é o valor auto-increment retornado neste insert 
	*/
	
	$valores = '';
	$colunas = '';
	foreach($dados as $chaves => $valor){
		$valor = ($valor != 'NULL' ? '"'.addslashes($valor).'"' : 'NULL');
		$valores .= (empty($valores)? '' : ',').$valor;
		$colunas .= (empty($colunas)? '' : ', ').$chaves;
	}
	
	$executa = "INSERT INTO $tabela ($colunas) values ($valores)";
	if(mysql_query($executa) != false){
		global $ml_ultmo_id;
		global $jf_ultimo_id;
		
		$jf_ultimo_id = mysql_insert_id();
		$ml_ultmo_id = $jf_ultimo_id;
	} else{
		echo mysql_error();
		$executa = false;
	}
	
	return $executa;
}

Depois eu posto mais funções do pacote é só ficar ligado no tópico jf.funcoes

Até mais

 

Comentar

Quase todos direitos reservados a Newsmade
Insert mysql bem mais fácil | Newsmade