Jump to content

mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in


hernani33

Recommended Posts

eu sou iniciante no php e queria ver se alguem me consegue dar uma ajudinha,

tenho este codigo( nao fui eu que fiz)

da-me o seguinte erro --> mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in, é na linha //pesquisa artigo selecionado,

alguem me comnsegue dar uma ajudinha??

obrigado

<?php
session_start();

 // ligação à base de dados
include('ligacao.php');

// captura código de artigo
$id_artigo = $_REQUEST['id_artigo']; 

// prepara sessão de compra
$sessao = session_id();

// pesquisa artigo selecionado
$sql_artigo = "SELECT * FROM artigos WHERE id_artigo =".$id_artigo ;
$consulta1 = mysqli_query($ligacao, $sql_artigo);
$mostrar = mysqli_fetch_array($consulta1);

// mostrar detalhes do artigo selecionado
	echo "<table width='800 px' border='1' align='center'>";
	echo "<p align='center'><a href=\"lista_compras.php\">Ver lista de compras</a></p>";
	echo "<p align='center'><a href=\"index.php\">Ver todos os artigos</a></p>";
	echo "<strong><p align='center'>Você selecionou os seguintes artigos:</strong></p><td align='center' width='100' height='100' valign='middle'>
	<img src='$pasta_imagens".$mostrar['imagem_artigo']."' border='0'>";
	echo "<td><align='center'>".$mostrar['nome_artigo']."</a></br>EUR ".$mostrar['preco_artigo']." 
	</br>".$mostrar['descricao_artigo']."</br>";
	
// seleciona quantidade temporaria 	
	$sql_quantidade = 'SELECT quantidade FROM compra_temporaria WHERE sessao = "'.$sessao.'" AND id_artigo = "'.$id_artigo. '"';
	$consulta2 = mysqli_query($ligacao, $sql_quantidade);
	$resultado = mysqli_fetch_assoc($consulta2);
	
// se houver quantidades já inseridas, extrai valores para mostrar
	if (mysqli_num_rows($consulta2) > 0) { $quantidade = $resultado['quantidade']; }
// se não houver quantidade já inserida, atribui valor zero
	else {$quantidade = 0;}

// inicia formulario para atualizar valores de quantidade
echo '<form method="POST" action="atualizar_compra.php">';

// apresenta quantidade a zero ou o número de vezes selecionado
echo '<p>Quantidade: <input type="text" name="quantidade" id="quantidade" size="2" value="'.$quantidade.'"/>';

// se a quantidade for positiva, permite alterar ou remover quantidade/artigo
	if ($quantidade > 0) {
	echo '<align="center"><input type="submit" name="submit" value="Alterar"/>';
	echo '<align="center"><input type="submit" name="submit" value="Remover artigo"/>';
		
// se a quantidade for nula, permite adicionar artigo
	} else {
	echo '<align="center"><input type="submit" name="submit" value="Adicionar"/>';
	}
	
echo '<input type="hidden" name="id_artigo" value="'.$id_artigo.'"/>';	
echo "</form>";
echo "</table>";
?>
Link to comment
Share on other sites

boas, obrigado ja consegui resolver,

mas agora tenho outro, tenho o codigo que esta em baixo, trata-se de enviar os pedidos das compras por email,

eu recebo o email assim --->

Pedido - 06/12/2016 16:20 id_cliente -> 27 Nome_Login ->carlos Cod. -> 3 - Quantidade -> 1 - o melhor disco rigido do mercado preço_artigo -> 0.55 * 1 Sub_total: 0.55 Valor Total: 1.1; Numero de compra: 2 carlos carlos rua 11 de março catujal 2680-395 hernani_coelho@msn.com -------------------------------------------------------------------

só que o problema é que so vem um artigo no email se a pessoa comprar 2 artigos o valor total vem certo mas nao os artigos.

será que alguem me consegue dar uma ajudinha??

<?php
// inicia sessão
session_start();

// ligação à base de dados
include('ligacao.php');

// verifica número de sessão
$sessao=session_id();
$id_cliente=$_SESSION['id_cliente'];
$sql_cliente= 'SELECT * FROM clientes WHERE id_cliente='.$id_cliente;
$consulta1=mysqli_query($ligacao, $sql_cliente);
while ($mostrar= mysqli_fetch_array($consulta1, MYSQLI_BOTH)){
extract ($mostrar);
echo "<table width='800 px' border='1' align='center'>";
echo "<tr><td><strong>Passo 2 - Resumo compra</strong></td></tr>";}
?>
<tr><td>
<table>
<tr><td>Primeiro Nome: <?php echo $primeiro_nome;?></td></tr>
<tr><td>Ultimo Nome: <?php echo $apelido;?></td></tr>
<tr><td>Rua/Lugar: <?php echo $endereco;?></td></tr>
<tr><td>Localidade: <?php echo $localidade;?></td></tr>
<tr><td>Codigo Postal: <?php echo $codigo_postal;?></td></tr>
<tr><td>Endereço de correio electronico: <?php echo $email;?></td></tr>
</table>
<?php
$sql_carrinho = 'SELECT * FROM compra_temporaria temp JOIN artigos prod ON temp.id_artigo=prod.id_artigo WHERE sessao ="'. $sessao .'" ORDER BY temp.id_artigo ASC';
$consulta2=mysqli_query($ligacao, $sql_carrinho)or die (mysql_error());
$resultado=mysqli_num_rows($consulta2);
if ($resultado > 0 ){
$total=0;
echo "<table width='800 px' border='1' align='center'>";
echo "<th>Imagem Artigo </th><th>Detalhe Artigo</th><th>Quantidade</th><th>Preço Unitario</th><th>Total a pagar</th>";
While ($mostrar = mysqli_fetch_array($consulta2, MYSQLI_BOTH)){
extract ($mostrar);
echo "<tr><td align='center' width='100' height='100' valign='middle'>;
<img src='$pasta_imagens" .$imagem_artigo. "' ></a>";
echo "<td align='center'>".$descricao_artigo."</td></a>";
echo "<td align='center'>".$quantidade."</td>";
echo "<td align='center'>EURO" .$preco_artigo."</td>";
$sub_total= number_format($preco_artigo * $quantidade, 2);
echo "<td align='center'>EURO" .$sub_total."</td>";
$total =$total + $preco_artigo * $quantidade;
echo "<tr><td align='right' colspan='5'> O valor total a pagar é de: <strong>EURO ".number_format($total,2)."</strong></td></tr>"; }
}
$sql_regista_compra = "INSERT INTO compra_confirmada (data_compra, id_cliente, total_pagar) VALUES (NOW(),'".$id_cliente."', '".$total."')";
$consulta3 =mysqli_query($ligacao, $sql_regista_compra);
$id_compra = mysqli_insert_id($id_compra);
$sql_regista_detalhes_compra= ' INSERT INTO detalhes_compra (id_compra, quantidade_compra, id_artigo) SELECT ' .$id_compra.', quantidade, id_artigo FROM compra_temporaria WHERE sessao= "' .$sessao.'"';
$consulta4= mysqli_query($ligacao, $sql_regista_detalhes_compra);
$sql_elemina_temp = 'DELETE FROM compra_temporaria WHERE sessao= "'.$sessao.'"';
$consulta5 = mysqli_query($ligacao, $sql_elimina_temp);
echo "<td colspan='5'> A compra foi realizada com sucesso e ficou com o numero  ".$id_compra;
//echo "<p> Sera enviada uma cópia dos detalhes da compra para o seu email.</p>";

echo "<tr><a href='index.php?pagina=1'> Clique para voltar á pagina inicial.</a></tr>";
session_unset();
session_destroy();
?>



<?php
include("ligacao.php");
include("class.phpmailer.php");
include("class.smtp.php");
require('PHPMailerAutoload.php');{
$data = date('d/m/Y H:i');
$sql_carrinho ="SELECT * FROM clientes WHERE id_cliente='.$id_cliente";
if ($sql_carrinho == '') {
echo 'erro ao selecionar';
}
else{
while($res_seleciona = mysqli_fetch_array($sql_carrinho));
{
$porta = $res_seleciona ['587'];
$servidor = $res_seleciona ['smtp.sapo.pt'];
$usuario_conta = $res_seleciona ['hernani@sapo.pt'];
$senhaemail = $res_seleciona [''];
$emailSite = $res_seleciona ['hernani@sapo.pt'];
$emailsiterecebe = $res_seleciona ['hernani@sapo.pt'];
$telefone = $res_seleciona ['914630554'];
$meudominio = $res_seleciona ['www.coelhodesign.info'];
$nomeEmpresa = utf8_decode($res_seleciona ['coelhodesign']);

$mail=new PHPMailer();
$mail->SMTPSecure = "tls";
$mail->SMTPDebug = 3;
$mail->Priority = 1;
$mail->IsSMTP();
$mail->SMTPAuth = false;
$mail->CharSet = "utf-8";
$mail->Port = "{$porta}";
$mail->Hostname = "{$servidor}";
$mail->Username = "{$usuario_conta}";
$mail->Password = "{$senhaemail}";
$mail->From = "{$email}";
$mail->FromName = "hernani@sapo.pt";
$mail->SetFrom("hernani@sapo.pt", "{$nomeEmpresa}");
$mail->AddAddress("coelho.hernani@sapo.pt", "{$nomeEmpresa}");

$mail->Subject = utf8_decode("Solicitação pedido:");
$mail->IsHTML = (true);
//$mail->CharSet ='iso-8859-1';
//header('Content-Type: text/html; charset=iso-8859-1');
$body="Pedido - {$nomeEmpresa}
{$data}

id_cliente -> {$id_cliente} Nome_Login ->{$nome_login}
Cod. -> {$id_artigo} - Quantidade -> {$quantidade} - {$descricao_artigo}
preço_artigo -> {$preco_artigo} * {$quantidade}
Sub_total: {$sub_total}
Valor Total: {$total};
Numero de compra: $id_compra
{$resultado}
{$primeiro_nome}
{$apelido}
{$endereco}
{$localidade}
{$codigo_postal}
{$email} -------------------------------------------------------------------
";
$address = "hernani@sapo.pt";
$mail->AddAddress($address, "nome");
}
}

$mail->Body=$mail_body.$body;

if($mail->send()){
echo "<script>
alert('PARABENS!!\n\nO seu pedido foi enviado com sucesso.');
window.location.href='index.php'
</script>";}


else{
echo 'Erro ao enviar o email '.$mail->ErrorInfo;
}
}
//session_unset();
//session_destroy();
?>
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.