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

Warning: mysql_fetch_array():


Evandro Araujo

Pergunta

Codigo:

<?php

session_start();

include("config.php");

if (isset($_GET['acao'])) {

if ($_GET['acao']== "add") {

if (isset($_GET['id'])) {

if (is_numeric($_GET['id'])) {

$id_prod = addslashes(htmlentities($_GET['id']));

$sql_cont = "SELECT COUNT(*) AS n_prod FROM carrinho where id_produto=$id_prod' and sessao='".session_id()."'";

$exe_cont = mysql_query($sql_cont,$base) or die(mysql_error());

$reg_cont = mysql_fetch_array($exe_cont, MYSQL_ASSOC);

if ($reg_cont['n_prod]==0) {

$sql_prod = "SELECT * FROM produtos WHERE id_produto='$id_prod'";

$exe_prod = mysql_query($sql_prod,$base) or die(mysql_error());

$num_prod = mysql_num_rows($exe_prod);

echo $num_prod;

if ($num_prod > 0) {

echo "teste";

$reg_prod = mysql_fetch_array($exe_prod, MYSQL_ASSOC);

$sql_add = "INSERT INTO carrinho(id_produto, nome_produto, preco_produto, qtd_produto, sessao)

VALUES

('".$reg_prod['id_produto']."', '".$reg_prod['nome_produto']."', '".$reg_prod['preco_produto']."',1,'".session_id()."')";

$exe_add = mysql_query($sql_add,$base) or die(mysql_error());

$reg_add = mysql_fetch_array($exe_add, MYSQL_ASSOC);

}

}

}

}

}

if ($_GET['acao']== "del") {

if (isset($_GET['id'])) {

if (is_numeric($_GET['id'])) {

$id_prod = addslashes(htmlentities($_GET['id']));

$sql_del = "DELETE FROM carrinho WHERE id_produto=$id_prod' AND sessao='".session_id()."'";

$exe_del =mysql_query($sql_del,$base) or die(mysql_error());

$reg_del = mysql_fetch_array($exe_del, MYSQL_ASSOC);

}

}

}

if ($_GET['acao]== "altera_qtd") {

if(isset($_POST['qtd'])) {

if (is_array($_POST['qtd'])) {

foreach($_POST['qtd'] as $id_produto =>$qtd) {

if (is_numeric($id_produto)&& is_numeric($qtd)) {

$sql_alt = "UPDATE carrinho set qtd_produto=$qtd' WHERE

id_produto='$id_produto' AND SESSAO='".session_id()."'";

$exe_alt =mysql_query($sql_alt,$base) or die(mysql_error());

$reg_alt = mysql_fetch_array($exe_alt, MYSQL_ASSOC);

}

}

}

}

}

}

?>

<html>

<head>

<title>Carrinho de compras</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body>

<form action="cart.php?acao=altera_qtd" method="post">

<table border="1" width="100">

<tr>

<td width="10%"><strong>id</strong></td>

<td width="30%"> <strong>produto</strong></td>

<td width="15%"> <strong>remover</strong></td>

<td width="15%"><strong>preço</strong></td>

<td width="15%"><strong>Qtd</strong></td>

<td width="15%"><strong>SubTotal</strong></td>

</tr>

<?

$sql_lista = "SELECT * FROM carrinho WHERE sessao='".session_id()."'ORDER BY nome_produto ASC";

$exec_lista = mysql_query($sql_lista, $base) or die(mysql_error());

$num_lista = mysql_num_rows($exec_lista);

if ($num_lista > 0) {

$total_carrinho=0;

while ($reg_lista = mysql_fetch_array($exec_lista,MYSQL_ASSOC)) {

$total_carrinho+=($reg_lista['preco_produto]*$reg_lista['qtd_produto']);

?>

<tr>

<td width=10%"><?=$reg_lista['id_produto]?></td>

<td width="30%"><?=$reg_lista['nome_produto']?></td>

<td width=15%"><a href="cart.php?acao=del&id=<?=$reg_lista['id_produto]?>">X</a></td>

<td width="15%"><?=number_format($reg_lista['preco_produto'],2,",",".")?></td>

<td width=15%"><input type="text" size="3" name="qtd[<?=$reg_lista['id_produto]?>]" value="<?=$reg_lista['qtd_produto']?>" </td>

<td width=15%"><?=number_format($reg_lista['preco_produto]*$reg_lista['qtd_produto'],2,",",".")?></td>

</tr>

<?

}

}

?>

<tr>

<td colspan="5"><div align="right">Total</div></td>

<td><?=number_format($total_carrinho,2,",",".")?></td>

</tr>

</table>

<input type="submit" value="Alterar Quantidade">

</form>

<a href="produtos.php"> continuar comprando </a>

</body>

</html>

O erro que esta dando é:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\arquivos de programas\easyphp1-8\www\carrinho\cart.php on line 28

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Você está usando COUNT(*), e o correto para se contar registros neste caso é o mysql_result();

nestas linhas:

$reg_cont = mysql_fetch_array($exe_cont, MYSQL_ASSOC);

if ($reg_cont['n_prod']==0){
troque para:
if(mysql_result($reg_cont,0,'n_prod') != 0){

}

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,2k
    • Posts
      652k
×
×
  • Criar Novo...