Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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???
>
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!
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???
Você pode usar o array_keys ou array_flip e depois o implode.
Referências
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?
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
rafinhaphp,
Utilize a função implode utilizando uma vírgula (,) para unir os itens da matriz: http://br.php.net/ma...ion.implode.php