(ajuda) ht exception PDOException with message SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
01/04/2019
0
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();
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;
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();
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;
Alessandro
Curtir tópico
+ 0
Responder
Posts
02/04/2019
Artur Barth
O erro significa que há uma quantidade de parâmetros inválido entre os Binds e a SQL.
Acredito que o correto seria isso:
Espero ter ajudado.
Att.
Artur Barth
Acredito que o correto seria isso:
$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, PDO::PARAM_STR); $stm->bindValue('''':descricao_completa'''', $descricao_completa, PDO::PARAM_STR); $stm->bindValue('''':products_count_admin'''', $products_count_admin, PDO::PARAM_INT); $stm->bindValue('''':id'''', $id, PDO::PARAM_INT); $retorno = $stm->execute();
Espero ter ajudado.
Att.
Artur Barth
Responder
Clique aqui para fazer login e interagir na Comunidade :)