Jump to content

Recommended Posts

Posted

Boas pessoal, estou com um problema ao fazer este query em php:

$ID="teste";

       $host='localhost';
       $user='isad';
       $pass='as';
       $db='administracao';     
     
     mysql_connect ($host,$user,$pass);
     mysql_select_db($db);

     $save=mysql_query("UPDATE revendedores SET ass=ass+1 WHERE id='".$ID."' "); 
     if($save==1){echo "sucesso!";}

Agora porque raio ele soma 2 valores na tablea, em vez de somar apenas 1 valor a mais como está no query?

Na tabela o ass está configurado como BigInt(20).

Posted

é correcto é tenho a certeza absoluta, o que não é correcto é ele adicionar o que está na tabela mais 2, em vez de fazer a soma de apenas mais 1 ao que está na tabela... isso é que nao percebo : \

Posted

não é o mais correcto para o efeito desejado, mas já testei e é exactamente a mesma coisa faco um SELECT do revendedor tiro o dado "ASS" e faco o Update com esse dado +1, e acontece exactamente o mesmo..

Posted

tem o valor default defined para 0.

mas já o pus sem valor default, ja o pus NULL e já pus em vez de big Int pus em varchar.. e mesmo assim nada.. continua a fazer a soma de 2 em vez de fazer só de um... o código não está dentro de um while nem nada nao percebo..

Posted

Executei este código no phpmyadmin e funciona normalmente, se executar no PHP faz a soma de +2 em vez de +1.. ja experimentei no meu server local e remoto é a mesma coisa..  ?

Posted

o código está certinho, não há nada de errado é o que vos mostrei, penso nao ter erros, nao está dentro de nenhum while ou foreach, é exactamente esse código num ficheiro teste.php, abro a página, ele faz o update, so que soma +2.. será um bug no mysql? lol

Posted

Executei este código no phpmyadmin e funciona normalmente, se executar no PHP faz a soma de +2 em vez de +1.. ja experimentei no meu server local e remoto é a mesma coisa..  ?

Btw... como o próprio nome indica PHPmyadmin é feito em PHP, alguma coisa estas a fazer mal 😉

"Quando eu for grande quero ser como o Celso"

Posted

Amigos eu agradeço as vossas ajudas mas vamos la perceber uma coisa...

CODIGO SQL:

-- phpMyAdmin SQL Dump
-- version 3.1.3
-- http://www.phpmyadmin.net
--
-- Máquina: localhost
-- Data de Criação: 19-Mai-2009 às 16:50
-- Versão do servidor: 5.1.32
-- versão do PHP: 5.2.9-1

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Base de Dados: `administracao`
--

-- --------------------------------------------------------

--
-- Estrutura da tabela `revendedores`
--

CREATE TABLE IF NOT EXISTS `revendedores` (
  `id` longtext NOT NULL,
  `dados_pessoais` longtext NOT NULL,
  `username` longtext NOT NULL,
  `password` longtext NOT NULL,
  `saldo_vendas` bigint(100) NOT NULL DEFAULT '0',
  `saldo_referidos` bigint(100) NOT NULL DEFAULT '0',
  `referido` text,
  `innosite` bigint(20) NOT NULL,
  `innocard` bigint(100) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Extraindo dados da tabela `revendedores`
--

CODIGO PHP:

$ID="teste";

       $host='localhost';
       $user='isad';
       $pass='as';
       $db='administracao';     
     
     mysql_connect ($host,$user,$pass);
     mysql_select_db($db);

     $save=mysql_query("UPDATE revendedores SET innosite=innosite+1 WHERE id='".$ID."' ");
     if($save==1){echo "sucesso!";}

É exactamente assim que tenho os códigos e a estrutura da tabela REVENDEDORES..

Executo o código php e dá me uma entrada de +2 em vez de +1.. não está dentro de while nem de foreach é exactamente isto que está ai não há erros de código não a nada.. pelo menos que eu saiba.. basta verem o que ta escrito ai e verem se existe algum erro penso que não..

Mas tudo indica que está tudo bem .. apenas se eu executar o query no PHPMYADMIN/ (Executa comando(s) SQL) e escrever exactamente isto:

UPDATE revendedores SET innosite=innosite+1 WHERE id='teste'

Funciona na perfeição... se executar no PHP adiciona +2 valores em vez de adicionar +1 como faz directamente no mysql...

Posted

Executei este código no phpmyadmin e funciona normalmente, se executar no PHP faz a soma de +2 em vez de +1.. ja experimentei no meu server local e remoto é a mesma coisa..  ?

estás a usar firefox?

Há duas coisas infinitas: o Universo e a estupidez humana... embora não haja certezas quanto ao primeiro.

Posted

Sem ofensa, mas é um problema muito curioso mesmo. A instrução SQL é válida e dá diferentes resultados...

Estás a fazer include desse ficheiro? ou de outro qualquer nesse contexto?

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Posted

O "código php" tem o nome de teste.php, e estou a usar o firefox.. executo o teste.php, e faço uma visualização no phpMyadmin, e vejo lá 2 valores adicionados em vez da soma real, que é +1, depois faco a query directamente no phpMyadmin no painel SQL para executar as querys, executo vou verificar novamente e vejo que so adicionou o correcto, que é +1..

O ficheiro teste.php não tem includes classes funcoes nada é exactamente como está ai como voçês veem.. é estranho realmente mas é real, adiciona sempre +2 em vez de +1....

Há coisas inexplicaveis  😉

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.