[Resolvido] funcao para inserir dados no bando de dados, adaptand
salve pessoal...
tenho uma função para inserir dados no banco, ela funciona muito bem...
a chamada dela é assim:
inserir('tabela', 'valor_para_inserir_vindo_do_array');
array('id' => NULL, 'descricao' => 'Programador');
a saída é essa: INSERT INTO produto (id, descricao) VALUES ('', 'Programador')
ta funcionando certinho...
mas queria adapta-lá para PDO, mas não to conseguindo, ja que em PDO tem o bindValue:
$qr->bindValue(':campo', $varialvel, PDO::PARAM_STR|INT|etc);
como fazer para dinamicamente ele fazer o bindValue corretamente?
minha função completa:
<?php
mysql_connect('localhost', 'root', '') or die (mysql_error());
mysql_select_db('teste') or die (mysql_error());
function inserir($tabela, $dados) {
// verifica se os dados são um array
if (is_array($dados)) {
$totalCampos = count($dados); // conta total de campos que serão inseridos
$posicao = array_keys($dados); // pega posição no array de acordo com o Ãndice
$sql = 'INSERT INTO ' .$tabela. ' (';
for ($i = 0; $i < $totalCampos; $i++) {
$sql .= $posicao[$i] . ', ';
}
$sql = substr($sql, 0, -2);
$sql .= ') VALUES (';
$indice = 0;
for ($i = 0; $i < $totalCampos; $i++) {
$sql .= "'" .$dados[$posicao[$i]]. "', ";
}
$sql = substr($sql, 0, -2);
echo $sql .= ')';
} else {
echo 'São permitido apenas entrada por array!';
die();
}
$res = mysql_query($sql) or die ('<br />ERRO SQL: ' .mysql_error());
}
$dados = array('id' => NULL, 'descricao' => 'Programador');
inserir('produto', $dados);
?>Discussão (13)
Carregando comentários...