-
Conteúdo Similar
-
Por manogaucho
Tudo bem!!!
Estou com esse erro “ht exception ‘PDOException’ with message ‘SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens’”
Ja conferir não acho nome diferentes para acusar esse erro…
codigo abaixo:
action_cliente.php
$sql = 'UPDATE tab_clientes2 SET codigoean:codigoean , descricao_completa:descricao_completa, products_count_admin:products_count_admin '; $sql .= ‘WHERE id = :id’; $stm = $conexao->prepare($sql); $stm->bindValue(':codigoean', $codigoean); $stm->bindValue(':descricao_completa', $descricao_completa); $stm->bindValue(':products_count_admin', $products_count_admin); $stm->bindValue(':id', $id); $retorno = $stm->execute(); if ($retorno): echo "<div class='alert alert-success' role='alert'>Registro editado com sucesso, aguarde você está sendo redirecionado ...</div> "; else: echo "<div class='alert alert-danger' role='alert'>Erro ao editar registro!</div> "; endif; echo "<meta http-equiv=refresh content='3;URL=index.php'>"; endif; Tabela
CREATE TABLE `tab_clientes2` ( `id` int(11) NOT NULL, `codigoean` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, `descricao_completa` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, `products_count_admin` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; COMMIT;
-
Por ammorei
Boa Noite!
Estou montando um CRUD, peguei alguns códigos na Internet e adaptei para a minha necessidade, tudo estava correndo perfeitamente bem, mas quando cheguei na parte de UPDATE a aplicação me apresenta o seguinte erro: Warning: PDOStatement::execute(): SQLSTATE[HY093].
Gostaria da ajuda de vocês para resolver meu problema.
Segue Código:
<?php $id=isset($_GET['id']) ? $_GET['id'] : die('ERROR: ID não encontrado.'); include 'config/database.php'; if($_POST){ try{ $query = "UPDATE alunos SET nome=:nome, responsavel=:responsavel, telefone=:telefone, ensino=:ensino, serie=:serie, visita=:visita, entrevista=:entrevista, teste_data=:teste_data, teste_result=:teste_result, matricula=:matricula, data_matricula=:data_matricula, observacao=:observacao WHERE id = :id"; $stmt = $con->prepare($query); $nome=htmlspecialchars(strip_tags($_POST['nome'])); $responsavel=htmlspecialchars(strip_tags($_POST['responsavel'])); $telefone=htmlspecialchars(strip_tags($_POST['telefone'])); $ensino=htmlspecialchars(strip_tags($_POST['ensino'])); $serie=htmlspecialchars(strip_tags($_POST['serie'])); $visita=htmlspecialchars(strip_tags($_POST['visita'])); $entrevista=htmlspecialchars(strip_tags($_POST['entrevista'])); $teste_data=htmlspecialchars(strip_tags($_POST['teste_data'])); $teste_result=htmlspecialchars(strip_tags($_POST['teste_result'])); $matricula=htmlspecialchars(strip_tags($_POST['matricula'])); $data_matricula=htmlspecialchars(strip_tags($_POST['data_matricula'])); $observacao=htmlspecialchars(strip_tags($_POST['observacao'])); $visita=date("Y-m-d",strtotime(str_replace('/','-',$visita))); $entrevista=date("Y-m-d",strtotime(str_replace('/','-',$entrevista))); $teste_data=date("Y-m-d",strtotime(str_replace('/','-',$teste_data))); $data_matricula=date("Y-m-d",strtotime(str_replace('/','-',$matricula))); $stmt->bindParam(':nome', $nome); $stmt->bindParam(':responsavel', $responsavel); $stmt->bindParam(':telefone', $telefone); $stmt->bindParam(':ensino', $ensino); $stmt->bindParam(':serie', $serie); $stmt->bindParam(':visita', $visita); $stmt->bindParam(':entrevista', $entrevista); $stmt->bindParam(':teste_data', $teste_data); $stmt->bindParam(':teste_result', $teste_result); $stmt->bindParam(':matricula', $matricula); $stmt->bindParam(':data_matricula', $data_matricula); $stmt->bindParam(':observacao', $observacao); if($stmt->execute()){ echo "<div class='alert alert-success'>Atualização realizado com sucesso.</div>"; }else{ echo "<div class='alert alert-danger'>Não foi possível atualizar o registro. Por favor, tente novamente.</div>"; } } catch(PDOException $exception){ die('ERROR: ' . $exception->getMessage()); } } ?> Desde já agradeço a ajuda.
-
Por josenilson
Boa tarde para todos !
estou tentando criar um formulário de login e senha com utilizando HTML, PHP, E PDO
ate o momento estou em um impasse tenho o formulário em HTML ok tenho uma pagina chamada conexão em php OK
e tenho uma outra pagina chamado logar.php onde basicamente esta pagina faz a verificação de tudo os valores digitados no form HTMl
nesta também já tem um include "conexão.php"
mas quando eu rodo essa programação acontece o seguinte erro na pagina logar.php.
PDOException: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in C:\xampp\htdocs\WEB\logar.php:20 Stack trace: #0 C:\xampp\htdocs\WEB\logar.php(20): PDOStatement->execute() #1 {main}
segue abaixo o código da pagina.
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<?php
include "conexao.php";
if (isset($_POST['logar'])){
$login = trim(strip_tags($_POST['login']));
$senha = trim(strip_tags($_POST['senha']));
//SELECIONA O BANCO DE DADOS
$select = "SELECT * FROM sistema WHARE usuario=:usuario AND senha:=senha";
try {
$result = $conexao->prepare($select);
$result->bindParam(':usuario', $usuario, PDO::PARAM_STR);
$result->bindParam(':senha',$senha, PDO::PARAM_STR);
$result->execute(); nesta parte que vem o erro SQLSTATE[HY093]:
$contar = $result->rowCount();
if ($contar>0){
$usuario = $_POST['login'];
$senha = $_POST['senha'];
$_SESSION['usuario'] = $usuario;
$_SESSION['senha'] = $senha;
echo 'logado com sucesso';
header ("refresh: 5 desktop.php");
}else{
echo 'os dados digitados estão incorretos';
}
} catch(PDOException $e) {
echo $e;
}
}
?>
Não estou conseguindo resolver esta parte do erro pois sou iniciante em programação e peço e sua ajuda
ao postar se possível peço por gentileza que mostre o resultado já inserido no código para maior entendimento do resultado agradeço.
att; josenilson pereira
-