Olá pessoal,
]Não sei se este tipo de dúvida vai aqui.
Qualquer problema p. favor me avisem, que eu mudo ok? Obrigado.
Estou dando continuidade a um projeto que está em PHP com BD MySql, utilizando para conexão, o ADOBD (
http://phplens.com/l.../docs-adodb.htm)
O problema é o seguinte:
Na tabela tem uma coluna nome VARCHAR(10)
Ao efetuar o insert pela aplicação, em que o tamanho da string nome é maior que 10, não ocorre erro. simplesmente insere o valor "cortando" a string no 10º caracter.
No caso do exemplo abaixo, o que aparece no banco, na coluna nome é: "valormaior"
Por outro lado, ao efetuar o mesmo insert pelo squirrel, ocorre o erro:
Error: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'nome' at row 1, SQL State: 22001, Error Code: 0
O que eu queria é que esta exceção fosse retornada pela aplicação tb, através do trhow $e (Exception);
Como sou iniciante em PHP e MySql, não sei nem por onde começar a investigar o erro.
Alguém tem alguma sugestão?
Abaixo, seguem os códigos:
CREATE TABLE 'tb_categoriaproduto'
(
codigo INT UNSIGNED PRIMARY KEY not null,
nome VARCHAR(10)
);
insert into tb_categoriaproduto (nome) values ('valormaiorque10')
public function salvar(CategoriaProduto $catProd) {
$query = "insert into tb_categoriaproduto ";
$query .= "(nome)";
$query .= " values (" ;
$query .= "'".$catProd->getDescricao()."')";
try {
parent::Connection()->Execute($query);
} catch (Exception $e) {
throw $e;
}
}
Desde já agradeço a ajuda.