Autor Tema: Error con mysqli base de datos ¿faltan comillas concatenar variables con select?  (Leído 10952 veces)

joseanguiano

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 3
    • Ver Perfil
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
« Última modificación: 27 de Septiembre 2015, 21:28 por César Krall »

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Re:Error con mysqli
« Respuesta #1 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!
Responsable de departamento de producción aprenderaprogramar.com

joseanguiano

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 3
    • Ver Perfil
Re:Error con mysqli
« Respuesta #2 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);
}
}

?>


César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
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!
Responsable de departamento de producción aprenderaprogramar.com

joseanguiano

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 3
    • Ver Perfil
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

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
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!
Responsable de departamento de producción aprenderaprogramar.com

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".