lordlexx 0 Denunciar post Postado Abril 30, 2011 olá amigos do forum tudo beleza? seguinte estava fazeno um formulario pra enviar para o bd so q o php nao esta aceitano o date q esta como timestamp no mysql qnd coloco a variavel $criandoEM = date('Y-m-d H:i:s'); o php da o erro "siteSQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens" pq sera deste erro? vou postar o codigo para terem uma ideia de como esotu pasano os valores e com PDO lembrano q a data o criadoEM q recebera o date no mysql esta como timestamp <div id="pagina"> <div class="anuncie_ok"> <h1>Veja os dados abaixo:</h1> <?php $criadoEm = date('Y-m-d H:i:s'); $usuarioNivel = 'cliente'; $clienteStatus ='pendente'; $clienteNome = strip_tags(trim($_POST['nome'])); $clienteEmail = strip_tags(trim($_POST['email'])); $clienteSenha = strip_tags(trim(md5($_POST['senha']))); $clienteTelefone = strip_tags(trim($_POST['telefone'])); $sql_cadastra_Cliente = 'INSERT INTO cf_clientes (criadoEm,usuarioNivel,clienteStatus,nome,email,senha,telefone) '; $sql_cadastra_Cliente .= 'VALUES (:criadoEm:usuarioNivel,:clienteStatus,:nome,:email,:senha,:telefone)'; try{ $query_cadastraCliente = $conecta->prepare($sql_cadastra_Cliente); $query_cadastraCliente->bindValue(':criadoEm',$criadoEm,PDO::PARAM_STR); $query_cadastraCliente->bindValue(':usuarioNivel',$usuarioNivel,PDO::PARAM_STR); $query_cadastraCliente->bindValue(':clienteStatus',$clienteStatus,PDO::PARAM_STR); $query_cadastraCliente->bindValue(':nome',$clienteNome,PDO::PARAM_STR); $query_cadastraCliente->bindValue(':email',$clienteEmail,PDO::PARAM_STR); $query_cadastraCliente->bindValue(':senha',$clienteSenha,PDO::PARAM_STR); $query_cadastraCliente->bindValue(':telefone',$clienteTelefone,PDO::PARAM_STR); $query_cadastraCliente->execute(); }catch(PDOexception $erro_aocadastrar){ echo 'Erro ao cadastrar!Tente novamente,caso o erro percista favor contactar a administracao do site'.$erro_aocadastrar->getMessage(); } ?> </div><!--fecha anucie_ok--> </div><!--fecha pagina--> vlw ajuda pessoal Compartilhar este post Link para o post Compartilhar em outros sites
Leozitho 81 Denunciar post Postado Abril 30, 2011 Note que existe um erro no seu SQL: $sql_cadastra_Cliente .= 'VALUES (:criadoEm:usuarioNivel,:clienteStatus,:nome,:email,:senha,:telefone)'; Está faltando uma vírgula depois do :criadoEm. Deveria estar assim: $sql_cadastra_Cliente .= 'VALUES (:criadoEm,:usuarioNivel,:clienteStatus,:nome,:email,:senha,:telefone)'; Outra coisa, você disse que o tipo do campo "criadoEm" no MySQL está definido como TIMESTAMP? Se for isso mesmo, você está enviando o valor errado, você está enviando como DATETIME: $criadoEm = date('Y-m-d H:i:s'); Qualquer coisa posta aí. Compartilhar este post Link para o post Compartilhar em outros sites
lordlexx 0 Denunciar post Postado Abril 30, 2011 Léo Teixeira vlw ajuda era isso mesmo tava faltano um virgula eita q falta de atençao pelo erro q tava apareceno pensei q era algo mais complicado hehe vlw Compartilhar este post Link para o post Compartilhar em outros sites