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..
<?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>
Pergunta
Nill
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
carrinho.php produtos.phpLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
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.