0
I’m making multiple mistakes
Warning: Illegal string offset 'id_mol_comp' in C: wamp www fanamol carrinho.php on line 167
Notice: Uninitialized string offset: 0 in C: wamp www fanamol carrinho.php on line 167
Relating to these lines:
include ("db.php");
foreach($_SESSION['itens'] as $produtos => $quantidade){
$select=$con->prepare("SELECT * from stock_comp WHERE id_mol_comp=?");
//$select->bindParam(1,$idproduto);
$select->execute();
//$fetch= $select->fetchAll();
$id_mol_comp=$produtos["id_mol_comp"];
$referencia=$produtos["referencia"];
$preco=$produtos['preco'];
$precototal=$produtos["preco"]*$quantidade;
Here is a print of the bugs:
This is the longest code:
<?php
if (!isset($_SESSION['itens'])){
$_SESSION['itens']=array();
}
if(isset($_GET['add'])&& $_GET['add']=="carrinho") {
$idproduto = $_GET['id'];
if(!isset($_session['itens'][$idproduto])){
$_SESSION['itens'][$idproduto]=1;
}else{
$_SESSION['itens'][$idproduto]+=1;
}
}
var_dump($_SESSION['itens']);
if (count($_SESSION['itens'])==0){
echo'Carrinho vazio <br><a href="mol_compressao.php">Adicionar Itens</a>';
}else{
echo"
<h3>Carrinho de Compras</h3>
<div align='center'>
<div class='card mx-auto w-75'>
<div class='container-fluid''>
<div class='row align-items-end' style='height:40px;'>
<div class='col-md-2' style='text-align: center'>REFERÊNCIA</div>
<div class='col-md-3' style='text-align: center'>QUANTIDADE</div>
<div class='col-md-2' style='text-align: center'>PREÇO UNITÁRIO</div>
<div class='col-md-2' style='text-align: center'>PREÇO TOTAL</div>
</div>
</div>
<hr>
<div class='card-body' >
<div class='row align-items-end' style='height:0px;'>
<div class='col-md-10' style='text-align: center'>Total:</div>
<div class='col-md-2' style='text-align: center'>ef</div>
</div>
</div>
</div>
</div>
";
include ("db.php");
foreach($_SESSION['itens'] as $produtos => $quantidade){
$select=$con->prepare("SELECT * from stock_comp WHERE id_mol_comp=?");
//$select->bindParam(1,$idproduto);
$select->execute();
//$fetch= $select->fetchAll();
$id_mol_comp=$produtos["id_mol_comp"];
$referencia=$produtos["referencia"];
$preco=$produtos['preco'];
$precototal=$produtos["preco"]*$quantidade;
echo"
<div class='card-body'>
<div class='row align-items-center' style='height:0px;'>
<div class='col-md-2' style='text-align: center'>$referencia</div>
<div class='col-md-3' style='text-align: center'></div>
<div class='col-md-3' style='text-align: center'>$quantidade<input type='text' name='de2' size='1' ><i style='font-size:24px' class='fa'></i><i style='font-size:24px' class='fa'></i></div>
<div class='col-md-2' style='text-align: center'>$preco</div>
<div class='col-md-2' style='text-align: center'>$precototal</div>
</div>
</div>
<hr>";
}
}
?>
You are trying to get values that are not set. Why commented bindParam? Var_dump $select->fetchAll()
– Mauro Alexandre
@Mauroalexandre bind param and $fetch are commented because if it is not, the error appears : Fatal error: Call to Undefined method mysqli_stmt::bindParam()
– edshewa