Ir para conteúdo
Fórum Script Brasil
  • 0

Erro No Código


monalisa

Pergunta

Galerinha do PHP estou com um erro neste código ele está me dando a seguinte mensagem:" You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNER JOIN itempedido i on i.codproduto=p.codProduto"

 $updateSQL = sprintf("UPDATE produto p SET Qtdestoque=%s 
 INNER JOIN itempedido i on i.codproduto=p.codProduto
 WHERE i.pedido=$resultadoitem",
 $value=$row_quantidade['Qtdestoque']+$row_quantidade['quantidade'],
 GetSQLValueString($value, "int"));
    	
  mysql_select_db($database_gvshopping, $gvshopping);
  $Result1 = mysql_query($updateSQL, $gvshopping) or die(mysql_error());

O que devo fazer??

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

monalisa, pesquisei sobre sua dúvida....

porém só encontrei INNER JOIN com SELECT

e isso não resolve seu problema, mas ta ai um exemplo do uso de INNER JOIN

SELECT Users.UserID, Users.Name, Groups.GroupName
FROM Users
INNER JOIN Groups
ON Users.GroupID = Groups.GroupID

e no texto sobre esse comando tem a seguinte descritiva:

Inner Join is used when you would like to select one or more rows from two or more related tables.

ou seja, INNER JOIN é usado quando você deseja selecionar uma ou + colunas de duas ou + tabelas relacionadas!!!!

fonte da pesquisa: http://www.mysqlfreaks.com/statements/10.php

abraços!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

É o seguinte eu criei um update para fazer o que estou precisando só que a minha dúvida é o seguinte:


$updateSQL = sprintf("UPDATE produto p SET Qtdestoque=%s 
 WHERE p.codproduto=i.coproduto and i.pedido=$resultadoitem",
 $value=$row_quantidade['Qtdestoque']+$row_quantidade['quantidade'],
 GetSQLValueString($value, "int"));

Dentro deste código do UPDATE eu trabalho com duas tabelas uma que é a tabela produto que declaro ela logo no início do update e tenho uma outra tabela que utilizo para comparar o código que é "itempedido i" está que não estou sabendo onde declarar no update.

Alguém pode me ajudar?

Link para o comentário
Compartilhar em outros sites

  • 0
monalisa, pesquisei sobre sua dúvida....

porém só encontrei INNER JOIN com SELECT

e isso não resolve seu problema, mas ta ai um exemplo do uso de INNER JOIN

SELECT Users.UserID, Users.Name, Groups.GroupName
FROM Users
INNER JOIN Groups
ON Users.GroupID = Groups.GroupID

e no texto sobre esse comando tem a seguinte descritiva:

Inner Join is used when you would like to select one or more rows from two or more related tables.

ou seja, INNER JOIN é usado quando você deseja selecionar uma ou + colunas de duas ou + tabelas relacionadas!!!!

fonte da pesquisa: http://www.mysqlfreaks.com/statements/10.php

abraços!!!!

Kleber

mandei um email prá vc, você recebeu??

Monalisa

Link para o comentário
Compartilhar em outros sites

  • 0

Nunca trabalhei com essa estrutura não...

Mas você já tentou declarar depois da tabela produto separada por uma vírgula?

Tenta aí... vai fazendo testes em cima de testes...

Tenta procurar aqui mesmo em 'pesquisa' ou no google alguma sintaxe igual a que você precisa... talvez você encontre e entenda como funcione, depois é só ajustar do seu modo.

Abs,

Link para o comentário
Compartilhar em outros sites

  • 0
olá Monalisa.....

não recebi seu email não!!!

Pois é Kleber mandei email prá vc, até aqui pelo fórum e voltou. Vou colocar aqui o conteúdo do email, para ver se você pode me ajudar:

Oi Kleber

estou utilizando aquele código no PHP, o meu código está dessa forma:

<?php

$resultado=$_POST['pedido'];

mysql_select_db($database_gvshopping, $gvshopping);

$query_quantidade = "select i.codproduto, i.produto, i.pedido, i.quantidade, p.Qtdestoque from produto p

inner join itempedido i on i.codproduto = p.codproduto

where i.pedido = $resultado";

$quantidade = mysql_query($query_quantidade, $gvshopping) or die(mysql_error());

$row_quantidade = mysql_fetch_assoc($quantidade);

$totalRows_quantidade = mysql_num_rows($quantidade);

$resultadoitem=$row_quantidade['pedido'];

$editFormAction = $_SERVER['PHP_SELF'];

if (isset($_SERVER['QUERY_STRING'])) {

$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);

}

$updateSQL = sprintf("UPDATE produto p SET Qtdestoque=%s

WHERE i.pedido=$resultadoitem",

$value=$row_quantidade['Qtdestoque']+$row_quantidade['quantidade'],

GetSQLValueString($value, "int"));

mysql_select_db($database_gvshopping, $gvshopping);

$Result1 = mysql_query($updateSQL, $gvshopping) or die(mysql_error());

?>

Então a minha dúvida é a seguinte:

Eu fiz o select lá em cima como você pode ver, tá funcionando belezinha, o resultado deste select me dá todos os produto cujo o "Pedido=$resultado", até aí tudo tranquilo, agora o seguinte, desse resultado do select onde ele me dá os produtos eu preciso fazer um update na tabela produto alterando o "campo quantidade", dá forma que está meu código ele atualiza apenas o primeiro registro do resultado do select, e preciso de atualizar todos os registros.

Aí não sei como faço.

Desde já agradeço sua atenção em querer me ajudar.

Daniela

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...