PHP - Error con funcion Mysqli me esta volviendo loco

   
Vista:

Error con funcion Mysqli me esta volviendo loco

Publicado por jose c.joseanguiano@hotmail.com (3 intervenciones) el 27/09/2015 17:16:47
Hola amigos que tal soy nuevo en este foro y pues la verdad quería ver si me pueden apoyar con este script en la cual es un sistema de control de asistencia mas sin embargo no se que me sale mal tengo un error con la funccion mysqli y no se donde es, mi localhost me marca error en la linea 48 siendo la siguiente

1
$registros=new mysqli_query("UPDATE observacion SET faltas='0' WHERE idobservacion=$reg[idobservacion]");

anexo mi codigo para que puedan verlo mejor

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
 
require('../sistema/conexion.php');
 
 $registros="SELECT retardos, faltas, entrada FROM observacion";
 
	$resultado=$mysqli->query($registros);
 
	 $a=0;
  $reg=mysqli_fetch_array($resultado);
 
 
echo '<br />';
date_default_timezone_set('America/Mexico_City');
echo date('H:i:s');
 
$hora= date('H');
$min= date('i');
$entrada=date('H:i:00');
 
if($reg['retardos']<3){
	echo '<br />';
	$ban=false;
	if($reg['faltas']==0){
		$ban=true;
	}else if($reg['faltas']==1){
		$ban=false;
	}
 
	if($entrada<=$reg['entrada'] && $ban==true){
		echo '<br />';
		echo "Llegaste a tiempo";
		echo '<br />';
		echo 'Hora de Entrada: '.$entrada;
		$registros=new mysqli_query("UPDATE observacion SET faltas='1' WHERE idobservacion=$reg[idobservacion]");
	}
	else if($entrada>=$reg['entrada'] && $ban==true){
		echo '<br />';
		echo 'Llegaste tarde acumulas un retardo';
		echo '<br />';
		echo 'Hora de Entrada: '.$entrada;
		$addRet=$reg['retardos']+1;
		$registros=new mysqli_query("UPDATE observacion SET retardos=$addRet, faltas='1' WHERE idobservacion=$reg[idobservacion]");
	}
	else if($ban==false){
		echo '<br />';
		echo 'Hora de salida: '.$entrada;
		$registros=new mysqli_query("UPDATE observacion SET faltas='0' WHERE idobservacion=$reg[idobservacion]");
	}
}
 
?>

cualquier ayuda u observacion o cualquier idea sera bienvenida Gracias :D
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de VRM

Error con funcion Mysqli me esta volviendo loco

Publicado por VRM vrm@mac.com (171 intervenciones) el 28/09/2015 06:50:54
Prueba esto:
Antes de la linea 48:
$comando = "UPDATE observacion SET faltas='0' WHERE idobservacion='".$reg[idobservacion]."'";
Y la linea 48 quedaría:
$registros=new mysqli_query($comando);

En la primera linea de código hay un lío de comillas. Voy a separar los caracteres para que se vea bien (no debe escribirse así)
... WHERE idobservacion= ' " .$reg[idobservacion]. " ' " ;
Se entrecomilla lo que valga $reg[idobservacion] con comillas simples.

Lo mismo en las lineas 5 y 43.

Por otra parte idobservacion ¿es una constante? o si no debería ser $reg["idobservacion"] pero la matriz $reg sólo tiene $reg["retardos"], $reg["faltas"] y $reg["entrada"].

Saludos de Víctor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar