Ir para conteúdo

POWERED BY:

Arquivado

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

matheussoli

Resultado de Linhas afetadas

Recommended Posts

Pessoal estou fazendo um update de dados vindos de um formulário. Gostaria de mostrar quantas linhas foram afetadas, porém só tenho o resultado 0 ou 1.

 

Onde estou errando?

Já tentei várias formas e nada.

 

O código:

<?php

$matricula = $_POST['matricula'];
$disciplina = $_POST['cod_disciplina'];
$campo = $_POST['campo'];
$valor = $_POST['valor'];

$tamanho = count($matricula);
	for($f=0; $f<=$tamanho; $f++){
		$query = "UPDATE notas_teste SET ".$campo." = '".$valor[$f]."' WHERE nota_matricula = '".$matricula[$f]."' AND nota_disciplina = '".$disciplina[$f]."'";
		$atualiza = BD::conn()->prepare($query);
		$atualiza->execute();
		$conta = $atualiza->rowCount();
	}

if($atualiza){
	echo '<div class="alert alert-success">Lançadas '.$conta.'.</div>';
}else{
	echo '<div class="alert alert-danger">Erro ao lançar.</div>';
}
?>

Até!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troque:

$conta = $atualiza->rowCount();

Por:

$conta += $atualiza->rowCount();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Complementando a resposta do ESerra:

 

1. Lembre-se de iniciar a variável $conta com o valor 0 antes do loop. Vai evitar geração de erros

 

2. Já que está usando PDO, use Prepared Statements em vez de colocar os valores direto na consulta.

Veja:

http://www.ultimatephp.com.br/como-usar-pdo-com-banco-de-dados-mysql/

http://php.net/manual/pt_BR/mysqli.quickstart.prepared-statements.php

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.