Ir para conteúdo
Entre para seguir isso  
vitormeds

Erro na conversão de dados obtidos do banco de dados

Recommended Posts

Eae, estou recebendo dados de uma tabela de banco de dados e quero, fazer um calculo através desses dados e jogar para outra variável, mas aparece um erro de incompatibilidade de tipos ,estou fazendo assim :

$qtdmoedas = mysqli_query($db,"SELECT `quantidade` FROM `moedas` WHERE nome='$nome'");
$preco = mysqli_query($db,"SELECT `preco` FROM `itens` WHERE nome='$item'");

$qtdmoedasr=(float)$qtdmoedas-(float)$preco;
$totalitens=mysqli_query($db,"SELECT  `qtd".$item."` FROM `tabela` WHERE nomep='$nome'");
$totalitens=$totalitens+1;

Alguém sabe me dizer oque estou fazendo errado ?

 

Sou iniciante em PHP ainda.

 

obrigado

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

mysqli_query só executa a consulta. Você precisa pegar os resultados com mysqli_fetch_assoc ou semelhantes.

 

Vej:

http://php.net/manual/pt_BR/mysqli-result.fetch-assoc.php

http://rberaldo.com.br/como-atualizar-php-mysql-mysqli/

Compartilhar este post


Link para o post
Compartilhar em outros sites

mysqli_query só executa a consulta. Você precisa pegar os resultados com mysqli_fetch_assoc ou semelhantes.

 

Vej:

http://php.net/manual/pt_BR/mysqli-result.fetch-assoc.php

http://rberaldo.com.br/como-atualizar-php-mysql-mysqli/

Opa valeu consegui fiz assim:

$qtdmoedas = mysqli_fetch_assoc(mysqli_query($db,"SELECT `quantidade` FROM `moedas` WHERE nome='$nome'"));
$preco = mysqli_fetch_assoc(mysqli_query($db,"SELECT `preco` FROM `itens` WHERE nome='$item'"));

$qtdmoedas['quantidade']=$qtdmoedas['quantidade']-$preco['preco'];
$totalitens=mysqli_fetch_assoc(mysqli_query($db,"SELECT  `qtd".$item."` FROM `tabela` WHERE nomep='$nome'"));

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
Entre para seguir isso  

  • Conteúdo Similar

    • Por Jéssica Gonsalves
      Olá, estou fazendo um programa q converta numeros em base decimal para bases de 5,7 e 9. Para isso, ao utilizar uma variavel r (resto), para as consecutivas divisões  do numero em 5,7 ou 9, não sei como enviar para uma unica variavel, essa sequencia de restos. Por exemplo, o numero convertido 437 fica 3222 em base 5 e são a sequencia dos restos das consecutivas divisões, porem, não consigo armazenar em uma unica variavel, não posso usar vetor ou outros comandos como chair. Basicamente, posso usar while, if e for. Em baixo está o começo do meu programa, falta bastante coisa e só coloquei a parte de conversão para base 5 (que claramente não esta funcionando). Obrigada desde já!!
       
      #include <stdio.h>
      int main ()
      { int n, i, num, a, r,b;

      printf ("Digite a quantidade n de numeros a serem convertidos:");
      scanf ("%d", &n);
      for (i=0; i<n; i++)
      {
          printf ("Digite um numero a ser convertido:");
          scanf ("%d", &b);
          for ( a=b, cont=0; a>=5; a=a/5,cont++)
              r=a%5;
          
      }
          printf ("%d na base 5 e' :%d",b,num);

      return 0;
      }
       
    • Por Maurinho26
      Fala galera, beleza?
       
      Pois bem, eu tenho uma página no sistema que exibe tarefas conforme as datas, e a cada dia, ele mostra a data e todas as tarefas.
      Na hora de imprimir a data, ele está imprimindo certinho, no caso, o formato br --/--/----
       
      Porém, eu necessito também mostrar o dia da semana que corresponde aquele dia, por exemplo: 23/02/2018  - Sexta Feira
       
      Alguém poderia me ajudar?
    • Por Victor Balchaki
      Bom, estou convertendo um código, script AutoIT para PHP a algum tempo, porém, cheguei em um ponto que não consigo resolver um problema, eu não consigo executar a conversão desta linha: 
      $VAL = HEX(BITXOR(DEC($VAL), DEC($X[$IX])), 2)
      Devido a meu baixo conhecimento em PHP, não conheço algumas funções da linha, se possível, solicito ajuda para fazer tal conversão.
    • Por Thyago Henrique
      Pessoal, bom dia!
       
      Tenho a seguinte necessidade. Eu tenho um formulário que faz o cadastro de etiquetas e nesse cadastro eu informo o tamanho da mesma em centímetros.
       
      Porém utilizo o tcpdf para gerar uma impressão em pdf e assim o usuário poder imprimir as etiquetas. Só que os tamanhos lá são em pixels. Por isso a minha  necessidade.
       
      Tentei buscar algum material no google mas não consegui encontrar nada que me ajudasse a não ser conversores que as vezes não batem o valor. 
       
      Por ex:
       
      https://www.blitzresults.com/pt-br/pixel/
      Neste site acima, 1cm é equivalente a 118px
       
      https://www.converter-unidades.info/Converter+Pixels+de+cm.php
      Neste outro, 1cm é equivalente a 38px
       
      Aí fiquei na dúvida.
       
      Agradeço desde já pela sua ajuda.
    • Por JhoniWillian
      Olá, bom dia pessoal.
       
      Estou tendo dificuldades ao inserir informações via c# para o banco MySQL.
       
      Como todos sabem, quando se cria uma tbl com campo DateTime no MySQL, ele vem em padrão americano 2017-10-04 'exemplo'
       
      Meu problema é o seguinte.
       
      Eu faço um select em um banco SQL Server e puxo essas informações para um DataGrid com os campos que necessito.
      Após isso, o sistema vai levar esse datagrid e gravar as informações contidas nele para o banco MySQL fazendo o insert nesse trecho do código: 
       
       
      for (int i = 0; i < dvgOrdens.Rows.Count - 1; i++) { string ordem = dvgOrdens.Rows[i].Cells[1].Value.ToString(); //ordem string pedido = dvgOrdens.Rows[i].Cells[2].Value.ToString(); //pedido string operacao = dvgOrdens.Rows[i].Cells[3].Value.ToString(); //operacao string item = dvgOrdens.Rows[i].Cells[4].Value.ToString(); //item string data_limite = dvgOrdens.Rows[i].Cells[5].Value.ToString(); //Data Limite DateTime data = Convert.ToDateTime(data_limite); lblItem.Text = item; this.Refresh(); //Inseri os valores na tabala do Andon string sql_insert = "INSERT INTO pixie_andon_nc (ordem, cod_item, operacao, pedido, inicio_prev, fim_prev) VALUES ('" + ordem + "', '" + item + "', '" + operacao + "', '" + pedido + "', '" + "STR_TO_DATE" + "("+ data +")" + "', '" + data + "')"; MySqlCommand cmd = new MySqlCommand(sql_insert, mConn); cmd.ExecuteNonQuery(); } Ele está inserindo Ok as informações, porém, a Data Limite da Cells[5] ele está gravando como: 00/00/0000 00:00:00 e no meu datagrid quando puxo do SQL SErver a informação, ela está vindo como: 04/10/2017 (exemplo). 
       
      A dúvida é: o campo do MYSQL é DateTime ou seja, Data e Hora. porém, eu só preciso da Data que vem do datagrid '04/10/2017' porque a hora vai ser editável pelo usuário depois, ou seja a hora ele pode manter 00:00:00, ficando assim: 04/10/2017 00:00:00, o que eu posso fazer para resolver esse problema?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.