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

(Resolvido) Column count doesn't match value count at row 1


Nill

Pergunta

Column count doesn't match value count at row 1

bom pessoal, estou fazendo uma loja virtual, a titulo de apredizando da linguagem... me deparei com o erro acima, sei que é na query, quando vou fazer a inserção no banco, mas não estou conseguindo achar o erro, caso alguém possa me ajudar ai..

sql

--
-- Extraindo dados da tabela `tbl_fabricante`
--

INSERT INTO `tbl_fabricante` (`cdfabricante`, `nmfabricante`, `tsinsert`, `tscancelado`, `tsdelete`) VALUES
(1, 'Sony', '2008-08-15 11:26:59', '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
(2, 'LG', '2008-08-15 11:29:55', '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
(3, 'Dell', '2008-08-15 11:37:49', '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
(4, 'Sansung', '2008-08-15 11:37:49', '0000-00-00 00:00:00', '0000-00-00 00:00:00');

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

--
-- Estrutura da tabela `tbl_produtos`
--

CREATE TABLE IF NOT EXISTS `tbl_produtos` (
  `cdproduto` int(11) NOT NULL auto_increment,
  `cdfabricante` int(11) default NULL,
  `nmproduto` varchar(150) NOT NULL,
  `imgproduto` varchar(50) NOT NULL,
  `dsproduto` varchar(256) default NULL,
  `qtdproduto` int(11) default NULL,
  `preço` double(10,2) NOT NULL,
  `tsinsert` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  `tsdelete` timestamp NOT NULL default '0000-00-00 00:00:00',
  `tscancelado` timestamp NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (`cdproduto`),
  KEY `tbl_produtos_tbl_fabricante` (`cdfabricante`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5;

--
-- Extraindo dados da tabela `tbl_produtos`
--

INSERT INTO `tbl_produtos` (`cdproduto`, `cdfabricante`, `nmproduto`, `imgproduto`, `dsproduto`, `qtdproduto`, `preço`, `tsinsert`, `tsdelete`, `tscancelado`) VALUES
(1, 1, 'TV LCD 32" HDDVD', '003.jpg', 'TV LCD 32" HDDVD com tecnologia BluRay', 10, 2999.99, '2008-08-15 13:34:32', '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
(2, 2, 'Computador HP', '002.jpg', 'Computador HP Pavillon, HD200gb, 2mb, Processador Quad Core', 9, 1450.00, '2008-08-15 13:30:52', '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
(3, 3, 'Notebook HP', '001.jpg', 'Notebook Core 2 Duo, Gravador de DVD', 5, 1998.00, '2008-08-15 13:33:17', '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
(4, 2, 'Gravador de DVD', '004.jpg', 'Gravador de DVD, tecnologia BluyRay', 8, 99.00, '2008-08-15 13:34:45', '0000-00-00 00:00:00', '0000-00-00 00:00:00');

-- --------------------------------------------------------
carrinho.php
<?php
// Iniciamos nossa sess�o que vai indicar o usu�rio pela session_id
session_start();
include "conexao/conexao.php";
// Recuperamos os valores passados por parametros
$acao = $_GET['acao'];
$cod =  $_GET['cod'];


// Verificamos se a acao � igual a incluir
if ($acao == "incluir")
{
    // Verificamos se cod do produto � diferente de vazio
    if ($cod != '')
    {
        // Se for diferente de vazio verificamos se � num�rico
        if (is_numeric($cod))
        {
            // Tratamos a variavel de caracteres indevidos
            $cod = addslashes(htmlentities($cod));

            // Verificamos se o produto referente ao $cod j� est� no carrinho para o session id correnpondente
            $query_rs_carrinho     = "SELECT * FROM tbl_carrinho WHERE tbl_carrinho.cdcarrinho = '".$cod."'  AND tbl_carrinho.sessao = '".session_id()."'";
            $rs_carrinho           = mysql_query($query_rs_carrinho, $conn) or die(mysql_error());
            $row_rs_carrinho       = mysql_fetch_assoc($rs_carrinho);
            $totalRows_rs_carrinho = mysql_num_rows($rs_carrinho);

            // Se o total for igual a zero � sinal que o produto ainda n�o est� no carrinho
            if ($totalRows_rs_carrinho == 0)
            {
                // Aqui pegamos os dados do produto a ser incluido no carrinho
                $query_rs_produto     = "select * from tbl_produtos where cdproduto = '".$cod."'";
                $rs_produto           = mysql_query($query_rs_produto, $conn) or die(mysql_error());
                $row_rs_produto       = mysql_fetch_assoc($rs_produto);
                $totalRows_rs_produto = mysql_num_rows($rs_produto);

                // Se total for maior que zero esse produto existe e ent�o podemos incluir no carrinho
                if ($totalRows_rs_produto > 0)
                {
                    $registro_produto = mysql_fetch_assoc($rs_produto);
                    // Incluimos o produto selecionado no carrinho de compras
                    $add_sql = "INSERT INTO tbl_carrinho (idcarrinho. cdcarrinho, nmcarrinho, preço, qtdcarrinho, sessao )
                    VALUES('','".$row_rs_produto['cdcarrinho']."','".$row_rs_produto['nmcarrinho']."','".$row_rs_produto['preço']."','1','".session_id()."')";
                    $rs_produto_add = mysql_query($add_sql, $conn) or die(mysql_error());
                }
            }
        }
    }
}

// Verificamos se a acao � igual a excluir
if ($acao == "excluir")
{
    // Verificamos se cod do produto � diferente de vazio
    if ($cod != '')
    {
        // Se for diferente de vazio verificamos se � num�rico
        if (is_numeric($cod))
        {
            // Tratamos a variavel de caracteres indevidos
            $cod = addslashes(htmlentities($cod));
            // Verificamos se o produto referente ao $cod  est� no carrinho para o session id correnpondente
            $query_rs_car = "SELECT * FROM tbl_carrinho WHERE cdcarrinho = '".$cod."'  AND sessao = '".session_id()."'";
            $rs_car = mysql_query($query_rs_car, $conn) or die(mysql_error());
            $row_rs_carrinho = mysql_fetch_assoc($rs_car);
            $totalRows_rs_car = mysql_num_rows($rs_car);

            // Se encontrarmos o registro, excluimos do carrinho
            if ($totalRows_rs_car > 0)
            {
                $sql_carrinho_excluir = "DELETE FROM tbl_carrinho WHERE cdcarrinho = '".$cod."' AND sessao = '".session_id()."'";
                $exec_carrinho_excluir = mysql_query($sql_carrinho_excluir, $conn) or die(mysql_error());
            }
        }
    }
}

// Verificamos se a a��o � de modificar a quantidade do produto
if ($acao == "modifica")
{
    $quant = $_POST['qtdcarrinho'];
        // Se for diferente de vazio verificamos se � num�rico
        if (is_array($quant))
        {
            // Aqui percorremos o nosso array
            foreach($quant as $cod => $qtd)
            {
                // Verificamos se os valores s�o do tipo numeric
                if(is_numeric($cod) && is_numeric($qtd))
                {
                    // Fazemos nosso update nas quantidades dos produtos
                    $sql_modifica = "UPDATE tbl_carrinho SET qtdcarrinho =     '$qtd' WHERE  cdcarrinho = '$cod' AND sessao = '".session_id()."'";
                    $rs_modifica = mysql_query($sql_modifica, $conn) or die(mysql_error());
                }
            }
        }

}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Carrinho de Compras</title>
<style type="text/css">
<!--
.style3 {font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif; }
.style4 {
    color: #FF0000;
    font-weight: bold;
}
-->
</style>
</head>

<body>
<div align="center"><img src="imgs/carrinho.jpg" width="589" height="102" />
</div>
<form action="carrinho.php?acao=modifica" method="post">
<table width="100%" border="1" cellspacing="0" cellpadding="0">
  <tr>
    <th width="36%" scope="col"><div align="left">PRODUTO</div></th>
    <th width="22%" scope="col">PREÇO</th>
    <th width="13%" scope="col">QUANTIDADE</th>
    <th width="14%" scope="col">SUBTOTAL</th>
    <th width="15%" scope="col"> </th>
  </tr>

  <?
  $sql_meu_carrinho = "SELECT * FROM tbl_carrinho WHERE  sessao = '".session_id()."' ORDER BY nome ASC";
  $exec_meu_carrinho =  mysql_query($sql_meu_carrinho, $conn) or die(mysql_error());
  $qtd_meu_carrinho = mysql_num_rows($exec_meu_carrinho);

  if ($qtd_meu_carrinho > 0)
  {
      $soma_carrinho = 0;
      while ($row_rs_produto_carrinho = mysql_fetch_assoc($exec_meu_carrinho))
    {
        $soma_carrinho += ($row_rs_produto_carrinho['preço']*$row_rs_produto_carrinho['qtdcarrinho']);
  ?>
    <tr>

    <td><span class="style3">
      <?=$row_rs_produto_carrinho['nome']?>
    </span></td>
    <td><div align="center" class="style3"><?= number_format($row_rs_produto_carrinho['preço'],2,",","."); ?></div></td>
    <td><div align="center" class="style3"><input type"text" size="2" name="qtdcarrinho[<?=$row_rs_produto_carrinho['cdcarrinho']?>]" value="<?=$row_rs_produto_carrinho['qtdcarrinho']?>" /></div></td>
    <td><div align="center" class="style3"><?= number_format($row_rs_produto_carrinho['preço']*$row_rs_produto_carrinho['qtdcarrinho'],2,",","."); ?></div></td>
    <td><div align="center"><a href="carrinho.php?cod=<?=$row_rs_produto_carrinho['cdcarrinho']?>&acao=excluir"><img src="imgs/del_carrinho.jpg" width="110" height="21" border="0" /></a></div></td>
  </tr>
    <?
  }
}
  ?>
    <tr>
      <td colspan="3"><div align="right"><strong>TOTAL:</strong>  </div>        <div align="right"></div>        <div align="right"></div></td>
      <td><div align="center" class="style3 style4">
      <?= number_format($soma_carrinho,2,",","."); ?></div></td>
      <td> </td>
    </tr>
    <tr>
      <td colspan="5"><table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <th width="33%" height="60" scope="col"><span class="style3"><a href="produtos.php"><img src="imgs/comprando.jpg" width="287" height="40" border="0" /></a></span></th>
          <th width="33%" scope="col"> </th>
          <th width="34%" scope="col"><label>
            <input type="image" name="imageField" src="imgs/atualizar.jpg" />
          </label></th>
        </tr>
      </table></td>
    </tr>
</table>
</form>
</body>
</html>
produtos.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Carrinho de Compras</title>
</head>

<body>
<div align="center">
<?php
include "conexao/conexao.php";
//*********************************************************************
// CONFIGURA��O DE BANCO DE DADOS
//*********************************************************************
$con = mysql_connect($hostname_conn,$username_conn,$password_conn);
$bd  = mysql_select_db($database_conn);
?>
<table cellSpacing=1 cellPadding=0 width="50%" align=center border=0>
<tr>
 <td>
     <?
 //*********************************************************************
 // GERA A INSTRU��O SQL E CHAMA A FUN��O PARA GERAR AS COLUNAS
 //*********************************************************************
 $sql = "SELECT * FROM tbl_produtos ORDER BY RAND() LIMIT 0,4";
 GeraColunas(2, $sql)
 ?>
</td>
</tr>
</table>
<?
//*********************************************************************
// FUN��O: GERACOLUNAS
// Parametros:
//  $pNumColunas (int)   > Quant. de colunas para distribui��o
//  $pQuery    (string) > Query de registros
//*********************************************************************
function GeraColunas($pNumColunas, $pQuery) {
$resultado = mysql_query($pQuery);
echo ("<table width='100%' border='0'>\n");
 for($i = 0; $i <= mysql_num_rows($resultado); ++$i) {

 for ($intCont = 0; $intCont < $pNumColunas; $intCont++) {
  $linha = mysql_fetch_array($resultado);
  if ($i > $linha) {
   if ( $intCont < $pNumColunas-1) echo "</tr>\n";
   break;
  }

  $cod = $linha['cdproduto'];
  $nome = $linha['nmproduto'];
  $img = $linha['imgproduto'];
  $preço = number_format($linha['preço'],2,",",".");

  if ( $intCont == 0 ) echo "<tr>\n";
  echo "<td>";
  // Aqui voc� inclui o conteudo
  echo "<table width='266' border='0' cellspacing='0' cellpadding='0'>";
  echo "<tr>";
  echo "<td width='250' height='141' valign='middle'><div align='center'><img src='produtos/".$img."' border='0' width='189' height='141' /></div></td>";
  echo "</tr>";
  echo "<tr>";
  echo "<td>";
  echo "<table width='92%' border='0' align='center' cellpadding='0' cellspacing='0'>";
  echo "<tr>";
  echo "<td><div align='center' style='font-size:10px;font-family:Verdana'><strong><a href='carrinho.php?cod=".$cod."&acao=incluir'>".$nome."</a></strong></div><strong><div align='center'><font color='#FF0000' size='4px'> R$ ".$preço." </font></strong></div></td>";
  echo "</tr>";
  echo "<tr>";
  echo "<td><div align='center' style='font-size:10px;font-family:Verdana'><a href='carrinho.php?cod=".$cod."&acao=incluir'><img src='imgs/add_carrinho.jpg' border='0'/></a></div><br></td>";
  echo "</tr>";
  echo "</table>";
  echo "</td>";
  echo "</tr>";
  echo "</table>";

   // Aqui � o final do conteudo
  echo "</td>";

  if ( $intCont == $pNumColunas-1 ) {
   echo "</tr>\n";
  } else { $i++; }
 }

 }
echo ('</table>');
}

?>
</div>
</body>
</html>
</div>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Exemplo de coisa que gera o erro:

$sql = mysql_query("INSERT INTO tabela (campo1,campo2,campo3)VALUES('$valor1','$valor2')");

Observe que eu informo 3 campos (campo1, campo2, e campo3), mas só passo 2 valores ($valor1, $valor2), por isso que a contagem de colunas não bate...

Link para o comentário
Compartilhar em outros sites

  • 0

vlw ai pessoal, conseguir achar o errro.

$add_sql = "INSERT INTO tbl_carrinho (idcarrinho. cdcarrinho, nmcarrinho, preço, qtdcarrinho, sessao )

apos o campo idcarrinho estava com ponto... vlw ai pela ajuda..... fiquei analizando o que poderia esta faltando e me deparei com esse problema...

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