Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rafinhaphp

[Resolvido] insert em array

Recommended Posts

Salve galera...

 

seguinte estou estudando POO e mysql com PHP5.. to tentando fazer um inserte de varios valores em determinados campos...

 

eu tenho a seguinte classe:

class ConexaoMysql{
	protected $table;

	public function insert($value,$colunas) {
	   mysql_query("INSERT INTO $this->table($colunas)
           VALUE('$value')") or die('erro ao inserir');
	}
}


$inserir = new ConexaoMysql();
$inserir->insert('valor','colunas');

 

eu quero inserir um array() tipo:

$valor = array('Rafael','19','SP');

$colunas = array('nome','idade','estado');

 

dessa forma eu poderia escrever varios valorem em varios campos de uma vez.. mas ñ ta funcionando.. como tenho que fazer???

Compartilhar este post


Link para o post
Compartilhar em outros sites

rafinhaphp,

 

Utilize a função implode utilizando uma vírgula (,) para unir os itens da matriz: http://br.php.net/ma...ion.implode.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

rafinhaphp,

 

Utilize a função implode utilizando uma vírgula (,) para unir os itens da matriz: http://br.php.net/ma...ion.implode.php

 

Só não esqueça que tem que fazer o tratamento das variáveis antes de inserir, se não pode dar xabu e tua aplicação pode ficar com brechas de segurança.

Tenho um framework para persistência que acho que pode ajudar você a estudar mais POO

 

http://www.hufersil.com.br/lumine

 

@braços e fique com Deus!

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum... pode crer ai funciona... mas e se eu queizer melhor fazer o seguinte:

 

$valores = array(
    'nome' => 'Rafael',
    'idade' => '19',
    'sexo' => 'Masculino'
);
$string = implode(',',$valores);

desta forma eu pego apenas o valor no array, e se eu quiser pegar os indices? porque assim eu consigo em um array só passar a coluna e o valor que vai ser inserido na base...

 

porque señ vou ter que criar 2 array, um com os valores e outro com o nome das colunas....

 

intom minha duvida é: como dar um inplode e pegar apenas os indices do array???

Compartilhar este post


Link para o post
Compartilhar em outros sites

valewwwww galera.. é isso aê deu certo. vou postar o script aqui pra vcs verem como ficou:

 

ConexaoMysql.class.php

//Metodo p/ inserir valores a Tabela
	public function insert($insert) {
		$coluna = array_keys($insert);//pega só as chaves do array
		$coluna = implode(',',$coluna);//transforma em string
		$value = implode(',',$insert);//transforma valores em string
		mysql_query("INSERT INTO $this->table($coluna) VALUE($value)") or die('erro ao inserir');
	}

 

index.php

$insert = array('nome' => "'Rafael'", 'mensagem' => "'essa é minha mensagem'");

$escreverComentario->insert($insert);

 

Ta funcionando legaL... mas ta certo? isso nun é nenhum tipo de "POG" (Programação Orientada a Gambiarra) rsrsrs?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não acho POG não... Aliás, o framework Code Igniter utiliza deste modo pra salvar no banco. Só nunca tive a curiosidade de olhar a classe pra ver como ele faz. Mas, com certeza, tem mais alguns código de segurança, pra evitar qualquer dado de entrada.

 

Referência

http://codeigniter.com/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.