Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rodrigo Santos Silva

Fatal error: Call to a member function bind_param() on a non-object

Recommended Posts

Pessoal estou precisando urgente de uma ajuda to com esse erro


Fatal error: Call to a member function bind_param() on a non-object in C:\xampp\htdocs\distrib\update.php on line 17

 

no script abaixo:

 

^<?php
// Conecta ao MySQL usando MySQLi
$MySQLi = new mysqli("localhost", "root", "Digue2013", "alternativa");

// Recebe os dados do formulário
# $chNFe = $_GET['chNFe']; // Não é usado?
$identidade = $_POST['Id'];
$COD_BARRAS = $_POST['COD_BARRAS'];
$DT_LANCAMENTO = $_POST['DT_LANCAMENTO'];
$DT_DEVOLUCAO = $_POST['DT_DEVOLUCAO'] ;

// Prepara uma query
$query = $MySQLi->prepare("UPDATE 'nfe_entrada' SET 'COD_BARRAS' = ?, 'DT_LANCAMENTO' = ?, 'DT_DEVOLUCAO' = ? WHERE 'Id' = ?");
$updates = 0;

foreach ($identidade AS $key => $id) {
$query->bind_param("sssd", $COD_BARRAS[$key], $DT_LANCAMENTO[$key], $DT_DEVOLUCAO[$key], (int)$id);

if ($query->execute()) {
$updates += 1;
} else {
trigger_error($query->error);
}

$query->reset();
}

if ($updates > 0) {
echo ("<script>window.alert('Lançamento e devolução salvos com sucesso!');history.go(-1);</script>");
exit;
} else {
echo "<script>alert('Não foi possível salvar lançamento e devolução!');history.go(-1);</script>";
exit;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Observe que o objeto não é $query e sim $MySQLi, assim sendo substitua:

 

$query->bind_param("sssd", $COD_BARRAS[$key], $DT_LANCAMENTO[$key], $DT_DEVOLUCAO[$key], (int)$id);

Por:

 

$MySQLi->bind_param("sssd", $COD_BARRAS[$key], $DT_LANCAMENTO[$key], $DT_DEVOLUCAO[$key], (int)$id);

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Observe que o objeto não é $query e sim $MySQLi, assim sendo substitua:

 

 

$query->bind_param("sssd", $COD_BARRAS[$key], $DT_LANCAMENTO[$key], $DT_DEVOLUCAO[$key], (int)$id);
Por:

$MySQLi->bind_param("sssd", $COD_BARRAS[$key], $DT_LANCAMENTO[$key], $DT_DEVOLUCAO[$key], (int)$id);

 

 

Por favor, sempre que possível, teste as informações antes de sugerir. Uma informação errada mais atrapalha do que ajuda. Sei que a intenção foi boa mas, futuramente, um novato lendo este tópico pode se confundir mais ainda, uma vez que sua sugestão, além de inválida, não esclarece em nada. Segundo o próprio manual, ele fez da forma correta. Só esqueceu de verificar por erros.

 

Pessoal estou precisando urgente de uma ajuda to com esse erro

 

Fatal error: Call to a member function bind_param() on a non-object in C:\xampp\htdocs\distrib\update.php on line 17

 

no script abaixo:

 

^<?php

// Conecta ao MySQL usando MySQLi

$MySQLi = new mysqli("localhost", "root", "Digue2013", "alternativa");

 

// Recebe os dados do formulário

# $chNFe = $_GET['chNFe']; // Não é usado?

$identidade = $_POST['Id'];

$COD_BARRAS = $_POST['COD_BARRAS'];

$DT_LANCAMENTO = $_POST['DT_LANCAMENTO'];

$DT_DEVOLUCAO = $_POST['DT_DEVOLUCAO'] ;

 

// Prepara uma query

$query = $MySQLi->prepare("UPDATE 'nfe_entrada' SET 'COD_BARRAS' = ?, 'DT_LANCAMENTO' = ?, 'DT_DEVOLUCAO' = ? WHERE 'Id' = ?");

$updates = 0;

 

foreach ($identidade AS $key => $id) {

$query->bind_param("sssd", $COD_BARRAS[$key], $DT_LANCAMENTO[$key], $DT_DEVOLUCAO[$key], (int)$id);

 

if ($query->execute()) {

$updates += 1;

} else {

trigger_error($query->error);

}

 

$query->reset();

}

 

if ($updates > 0) {

echo ("<script>window.alert('Lançamento e devolução salvos com sucesso!');history.go(-1);</script>");

exit;

} else {

echo "<script>alert('Não foi possível salvar lançamento e devolução!');history.go(-1);</script>";

exit;

}

 

$query = $MySQLi->prepare("UPDATE 'nfe_entrada' SET 'COD_BARRAS' = ?, 'DT_LANCAMENTO' = ?, 'DT_DEVOLUCAO' = ? WHERE 'Id' = ?") or die($MySQLi->error());

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.