Ir para conteúdo
Fórum Script Brasil

Fagner Cruz

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Sobre Fagner Cruz

Fagner Cruz's Achievements

0

Reputação

  1. fazendo alguns teste cheguei a seguinte conclusão: Como Woody havia comentado, o erro de statement do sql retorna -1 e por isso ele desviava do teste condicional. tanto a solução proposta por ele como a solução proposta por JCMPJ foram eficazes. agradeço a todos que puderam me ajudar neste problema. Muitíssimo obrigado a todos do forum.
  2. Opa! muito obrigado pela sugestão, ainda não testei mas pelo jeito pode dar certo como você sugeriu. Assim que eu testar eu posto aquí os resultados.
  3. Mas o if testa um valor "booleano" 0 para false e qualquer nº positivo para true, por isso antes funcionava pois quando a query dava erro (valor de linhas retornadas = 0) o bloco else era executado mas quando o erro é provocado pela restrição de FK isso não acontece. Olá rickayron, vou testar a sua sugestão e assim que obtiver os resultados eu posto aquí se houve sucesso ou não, mas mesmo assim muitíssimo obrigado pela sugestão.
  4. Olá a todos do forum, Este é meu primeiro post, pois estou com um certo problema um pouco chato, porém pesquisei nos forum e não achei algo semelhante. O problema é o seguinte: tenho um pequeno sistema em php + mysql rodando localmente. Antes, eu usava a engine MyISAM, fazia as operações de insert, update, delete tudo ok, sem nenhum problema e para verificar o sucesso ou falha em alguma operação de inclusão eu usava o seguinte código de teste $resultado = mysql_query ("insert into estoque (nome,qtde,almox) values ('$id_prod',345,'$id_almox')"); $linhas = mysql_affected_rows(); if (!($linhas){ echo "Falha"; }else { echo "Sucesso"; } Como surgiu a necessidade de se utilizar chaves estrangeiras e aproveitar as rstrinções baseada nelas, mudei a engine para InnoDB. O único problema que me surgiu foi que, ao induzir o sistema a inserir um tupla onde um ou mais valores dos campos correspondia a uma chave inexistente em outra tabela, o mysql disparava um erro, o que era de se esperar, entretanto no meu código php o else era executado, como se mesmo havendo o erro devido as restrinções das chaves estrangeiras, o método mysql_affected_rows() retornasse um valor positivo. Qualquer outra indução a erro que não levasse a estrinção às chaves, o mysql_affected_rows() retornava zero, levando a execução do bloco if corretamente. Gostaria de saber se eu estou verificando de forma correta ou o meu código é falho e existe uma forma melhor de verificar essas restrições em php? Sem mais, agradeço antecipadamente a todos os membros deste excelente forum pela atenção prestada.
×
×
  • Criar Novo...