Mysql query does not return data even if records exist

Asked

Viewed 96 times

0

I’m trying to make an appointment with mine BD but strangely returns nothing, even existing records with the given parameters, yes, the script still uses the mysql_And I’m changing it, but I’d like to understand why the records don’t show up. The result is always bool(false). The script is this, the variables, as I said, are with values.

foreach($_SESSION as $nome => $quantidade){

$SUBTotal = 0;
$QTD      = 0;

// VERIFICAR SE A QUANTIDADE NÃO ESTÁ ZERADA
if ($quantidade > 0){   

    // var_dump($quantidade);

    if(substr($nome,0,9) == 'produtos_'){
        // Pegar ID da Session
        $cod_tam = substr($nome,9,(strlen($nome) -9));  

        list($IdProd, $Fam, $Sub, $Cor, $Tam)  = explode(':', $cod_tam);                            

        /*echo $IdProd . "<br>";
        echo $Fam . "<br>";
        echo $Sub . "<br>";
        echo $Cor . "<br>";
        echo $Tam . "<br>";*/

        $PD = mysql_query("SELECT 
              cadprodutos.IdProduto,
              cadprodutos.Nome,
              cadprodutos.Descrição,
              cadprodutos.Peso,
              cadprodutos.Estoque,
              cadprodutos.Ativo,
              cadproduto_tamanho_cor_valor.ValorAntigo,
              cadproduto_tamanho_cor_valor.ValorVenda,
              cadproduto_tamanho_cor_valor.IdCor,
              cadprodutos_imagem.Caminho,
              cadprodutos_imagem.CaminhoThumbs,
              cadcor.Cor,
              cadtamanho.Nome AS NomeTamanho
            FROM
              cadprodutos
              INNER JOIN cadproduto_tamanho_cor_valor ON (cadprodutos.IdProduto = cadproduto_tamanho_cor_valor.IdProduto)
              INNER JOIN cadprodutos_imagem ON (cadprodutos.IdProduto = cadprodutos_imagem.IdProduto)
              INNER JOIN cadcor ON (cadproduto_tamanho_cor_valor.IdCor = cadcor.IdCor)
              INNER JOIN cadtamanho ON (cadproduto_tamanho_cor_valor.IdTamanho = cadtamanho.IdTamanho)
            WHERE
              (`cadprodutos`.IdProduto = '".mysql_real_escape_string((int)$IdProd)."' ) AND 
              (`cadprodutos`.IdFamilia = '".$Fam."') AND 
              (`cadprodutos`.IdSubFamilia = '".$Sub."') AND
              (`cadcor`.IdCor = '".$Cor."') AND
              (`cadtamanho`.IdTamanho = '".$Tam."') AND
              (`cadprodutos`.Ativo = 1)");                          

        while($list = mysql_fetch_assoc($PD)) { 

            $estoque = $list['Estoque'];
            $status = $list['Ativo'];

            if ( $estoque > 0 && $status == 1){
                if ($estoque < $quantidade){
                    $QTD = $estoque;
                }else{
                    $QTD = $quantidade;
                }
                $SUBTotal   = $QTD * $list['ValorVenda'];
                //$SUBTotal     = $quantidade * $list['valorvenda'];

            ?>  
                <tr bgcolor="#FFFFFF">
                    <td width="1%" height="40" style="padding: 2px 2px 2px 0">
                        <img src="<?php echo $list['CaminhoThumbs'] ?>" height="40" border="0" alt="<?php echo $list['Nome'] ?>" title="<?php echo $list['Nome'] ?>" align="absmiddle" class="imagem-destaque-mini" /></td>
                    <td width="34%" align="left">   
                        <?php echo $list['Nome']; ?> <br />
                        Tamanho: <?php echo $Tam; ?> <br />
                        Cor: <?php echo $Cor; ?><br />                                      
                    </td>
                    <td width="4%" height="40" align="center" valign="middle" class="quantidade"><?php echo $QTD; ?></td>
                    <td width="14%" height="40" align="center" valign="middle">R$ <?php echo number_format($list['ValorVenda'],2,",","."); ?></td>
                    <th width="14%" height="40" align="middle" valign="middle">R$ <?php echo number_format($SUBTotal); ?></th>  
                </tr>
                <?php
            } else {
                $SUBTotal   = $quantidade * 0;
            ?>
                <tr bgcolor="#FFFFFF">
                    <td width="33%" height="40" style="padding:2px" colspan="2">
                        <img src="<?php echo $list['CaminhoThumbs'] ?>" height="40" border="0" alt="<?php echo $list['Nome'] ?>" title="'.$list['titulo_produto'].'" align="absmiddle" class="imagem-destaque-mini" />
                        <?php echo $list['Nome'] ?>
                    </td>
                    <td width="7%" height="40" align="center" valign="middle" title="Este produto acabou de ser vendido">Esgotado</td>
                    <td width="11%" height="40" align="center" valign="middle">R$ 0,00</td>
                    <th width="11%" height="40" align="middle" valign="middle">R$ 0,00</th>
                </tr>
                <?php   
                }
            }//while
        }//if prod
    }// if qtd
}//foreach
  • Just remembering that the snippet of the site can’t stand it PHP.

  • already tried to run sql directly on phpmyadmin, mysql Workbench, ... ?

  • Hello @Guilhermecostamilam, yes, it was the first test I did.

  • 1

    What version of PHP? The functions mysql_* were marked as obsolete in PHP 5.5 and removed in 7.0.

  • redo all connections using mysqli and test again

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.