Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: joseanguiano en 27 de Septiembre 2015, 17:55

Título: Error con mysqli base de datos ¿faltan comillas concatenar variables con select?
Publicado por: joseanguiano en 27 de Septiembre 2015, 17:55
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

Código: [Seleccionar]
$registros=new mysqli_query("UPDATE observacion SET faltas='0' WHERE idobservacion=$reg[idobservacion]");

anexo mi codigo para que puedan verlo mejor

Código: [Seleccionar]
<?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');
 
$horadate('H');
$mindate('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
Título: Re:Error con mysqli
Publicado por: César Krall en 27 de Septiembre 2015, 21:28
Hola josé el problema puede ser similar al que se explica en https://www.aprenderaprogramar.com/foros/index.php?topic=3157.0

Es decir, que te falte expresar bien las comillas:

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

Saludos!
Título: Re:Error con mysqli
Publicado por: joseanguiano en 28 de Septiembre 2015, 02:59
Hola josé el problema puede ser similar al que se explica en https://www.aprenderaprogramar.com/foros/index.php?topic=3157.0

Es decir, que te falte expresar bien las comillas:

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

Saludos!

Hola buen amigo primero que nada gracias por el deceo de ayudar muchas gracias volviendo al tema amigo mira al parecer ya no me marcan errores en las linea que antes mencionaba ahora me marcan errores en la linea 10

Warning: mysql_fetch_array() expects parameter 1 to be resource, string given in C:\wamp\www\pagina\Usuario\checar.php on line 10


esta en la linea 10 vez algun detalle que se me este pasando por ahi?

Código: [Seleccionar]
$reg=mysql_fetch_array($registros);


esto es todo el codigo

Código: [Seleccionar]
<?php

require('../sistema/conexion.php');

 
$registros="SELECT clave_t_e, retardos, faltas, entrada FROM observacion";

$resultadoa=$mysqli->query($registros);

 $a=0;
  
$reg=mysql_fetch_array($registros);


echo 
'<br />';
date_default_timezone_set('America/Mexico_City'); 
echo 
date('H:i:s'); 

$horadate('H'); 
$mindate('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;
/* $query="UPDATE tablaprueba SET cc='$cc', nombre='$nombre', apellido='$apellido', direccion='$direccion', telefono='$telefono',hora='$hora' WHERE id='$id'";
*/
$registrosx"UPDATE observacion SET faltas='1' WHERE idobservacion=$reg[idobservacion]";
$resultadob=$mysqli->query($registros);

}
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;
$registrosy="UPDATE observacion SET retardos=$addRet, faltas='1' WHERE idobservacion=$reg[idobservacion]";
$resultadoc=$mysqli->query($registros);

}
else if($ban==false){
echo '<br />';
echo 'Hora de salida: '.$entrada;
$registrosz="UPDATE observacion SET faltas='0' WHERE idobservacion=$reg[idobservacion]";
$resultadod=$mysqli->query($registros);
}
}

?>

Título: Re:Error con mysqli base de datos ¿faltan comillas concatenar variables con select?
Publicado por: César Krall en 29 de Septiembre 2015, 09:13
Hola José es posible que el problema se deba a que te falta la i

Ahora tienes: $reg=mysql_fetch_array($registros);

Con la i sería: $reg=mysqli_fetch_array($registros);


Puedes echar un vistazo al curso http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=70&Itemid=193 y en particular a la entrega donde se habla de esta instrucción, http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=612:php-consultas-mysql-mysqliconnect-selectdb-query-fetcharray-freeresult-close-ejemplos-cu00841b&catid=70:tutorial-basico-programador-web-php-desde-cero&Itemid=193

Saludos!
Título: Re:Error con mysqli base de datos ¿faltan comillas concatenar variables con select?
Publicado por: joseanguiano en 29 de Septiembre 2015, 20:57
Hola mi buen amigo nuevamente gracias  ;)
Ahora con respecto al tema fijate que eso mismo pensaba yo colocarle la "i" man sin embargo el error que me bota en el localhost es el siguiente

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, string given in C:\wamp\www\pagina\Usuario\checar.php on line 8

estoy perdido   :-\ nuevamente sabes como puedo solucionar el error



Por cierto gracias por la guia vienen temas muy importantes exelente
Título: Re:Error con mysqli base de datos ¿faltan comillas concatenar variables con select?
Publicado por: César Krall en 01 de Octubre 2015, 10:09
Hola errores similares se comentan en hilos del foro como este: https://www.aprenderaprogramar.com/foros/index.php?topic=2737 Mira con el buscador del foro, puede que encuentres algunas referencias.

Saludos!