osk 0 Denunciar post Postado Setembro 3, 2013 Boa noite gente,Estou tentando fazer um insert dinâmico para qualquer formulário. Mas não esta dando certo. Este é o acoes.php $inputs = $_POST['inputs']; $fields = implode(',', array_keys($inputs)); $values = ':' . str_replace(',', ',:', $fields); $stmt = $pdo->prepare("INSERT INTO {$_GET['tabela']} ({$fields}) values({$values})"); $stmt->execute($inputs); Tenho jquery que envia via post os inputs em array, porém o value tabela é via GET. Quando executo da um erro: Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in /home2/sabecomp/public_html/admin/includes/acoes.php on line 14 Minha array tem: Array ( [0] => Array ( [name] => categoria [value] => Lavadoras de Alta Pressão ) ) Se alguém puder me dizer o que está errado eu agradeço. Compartilhar este post Link para o post Compartilhar em outros sites
Adson aquino 2 Denunciar post Postado Setembro 4, 2013 Amigo coloque assim $stmt->execute(); Compartilhar este post Link para o post Compartilhar em outros sites
osk 0 Denunciar post Postado Setembro 4, 2013 Eu tentei assim Adson mas o erro é o mesmo, tenho a impressão que ocorre por que o inicio da array é 0. Compartilhar este post Link para o post Compartilhar em outros sites
osk 0 Denunciar post Postado Setembro 4, 2013 Consegui fazer, por enquanto está dando certo, vou agora vou tentar fazer um SELECT para ver se já existe o registro. $inputs = $_POST['inputs']; $fields = array(); $values = array(); for ($i=0; $i < sizeof($inputs); $i++) { $fields[] = $inputs[$i][name]; $values[] = $inputs[$i][value]; } $array = array_combine($fields,$values); $key = implode(',', array_keys($array)); $val = ':' . str_replace(',', ',:', $key); $insert = $pdo->prepare("INSERT INTO {$_GET['tabela']} ({$key}) VALUES({$val})"); $insert->execute($array); if($insert->rowCount() == 0): echo $insert->errorInfo(); else: echo "Categoria cadastrada com sucesso."; endif; Compartilhar este post Link para o post Compartilhar em outros sites