elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  [Resuelto] Consulta mysqli_query no funciona
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [Resuelto] Consulta mysqli_query no funciona  (Leído 9,473 veces)
danny920825

Desconectado Desconectado

Mensajes: 175


Ver Perfil WWW
[Resuelto] Consulta mysqli_query no funciona
« en: 28 Diciembre 2016, 20:35 pm »

Hola a todos. Hace unos días empecé a estudiar PHP y llegué a la parte de las BD. Logré implementar un pequeño formulario que recopila unos datos y los almacena en una BD llamada "trabajo" en una tabla "datos". Luego los llamo desde otra página y los muestro en una tabla donde tengo un boton de borrar. El botón puede borrar el campo sin problemas, pero lo que quiero es que antes de borrar los datos de la tabla "datos" los inserte en otra tabla llamada "eliminados" para que no se pierdan los datos, sino que dejen de estar en la tabla principal (No sé si me hago entender).
Estos son los datos del formulario

Código
  1. <!-- index.php-->
  2. <html>
  3. <head>
  4. <title>Registro de Ordenes de Trabajo</title>
  5. </head>
  6. <body>
  7. <center><H2>Registro de Ordenes de Trabajo</h2>
  8. <form action="bd.php" method="post" target="_blank">
  9. <table border='1'>
  10. <tr><td>No. de Orden</td><td><input type="text" name="orden"></td></tr>
  11. <tr><td>Nombre completo del trabajador</td><td><input type="text" name="trabajador"></td></tr>
  12. <tr><td>Departamento</td><td><select name="departamento"><option value="produccion">produccion<option value="tratamiento termico">tratamiento termico</option><option value="taladro">taladro</option><option value="metrologia">metrologia</option><option value="tecnologia">tecnologia</option><option value="cnc">cnc</td></tr>
  13. <tr><td>Fecha de Entrada (dd/mm/aaaa)</td><td align="center"><input type="text" size="2" name="diai"><input type="text" size="2" name="mesi"><input type="text" size="4" name="anioi"></td></tr>
  14. <tr><td>Fecha de Finalizacion (dd/mm/aaaa)</td><td align="center"><input type="text" size="2" name="diaf"><input type="text" size="2" name="mesf"><input type="text" size="4" name="aniof"></td></tr>
  15. <tr align="center"><td></td><td><input type="submit" value="enviar" name="enviar"><input type="reset" value="limpiar" name="limpiar"></td></tr>
  16.        </table>
  17. </form>
  18. </center>
  19. </body>
  20. </html>
  21.  

Esta es la página que procesa los datos y redirecciona hacia la página donde está la tabla

Código
  1. <?php
  2. //bd.php
  3.  
  4. //Primero comprobamos que la fecha esté correcta
  5. if (checkdate($_REQUEST['mesi'], $_REQUEST['diai'], $_REQUEST['anioi']) || checkdate($_REQUEST['mesf'], $_REQUEST['diaf'], $_REQUEST['aniof']))
  6. {
  7. $fechai=$_REQUEST['anioi']."-".$_REQUEST['mesi']."-".$_REQUEST['diai'];
  8. $fechaf=$_REQUEST['aniof']."-".$_REQUEST['mesf']."-".$_REQUEST['diaf'];
  9. //creamos la variable para la conexion y la variable para la tabla
  10. $conexion=mysqli_connect("localhost", "root", "") or die("Problemas de conexion");
  11. $tabla="datos";
  12. $bd="trabajo";
  13. $tabla2="elementos_eliminados";
  14. //seleccionamos la base de datos
  15. mysqli_select_db($conexion, $bd)or die ("Problemas en la seleccion de la BD");
  16.  
  17. //Añadir datos a la BD
  18. mysqli_query($conexion, "insert into $tabla (orden, trabajador, departamento, fechainicio, fechafinal) values ( '$_REQUEST[orden]', '$_REQUEST[trabajador]', '$_REQUEST[departamento]', '$fechai', '$fechaf')") or die ("Problemas al añadir elementos a la BD".mysqli_error());
  19. mysqli_close($conexion);
  20. header("location:listado_orden.php");
  21. }
  22. else
  23. {
  24. echo ("La fecha introducida es incorrecta");
  25. }
  26.  
  27. ?>
  28.  
Luego los datos se muestran en esta página:
Código
  1. <html>
  2. <head>
  3. <title>Listado de Ordenes de Trabajo</title>
  4. </head>
  5. <?php
  6. /*ahora el invento: que debajo aparezcan todos los campos en una tabla dinámica que crezca con cada registro que se haga en la BD*/
  7. $conexion=mysqli_connect("localhost", "root", "") or die("Problemas de conexion");
  8. $tabla="datos";
  9. $bd="trabajo";
  10. mysqli_select_db($conexion, $bd)or die ("Problemas en la seleccion de la BD");
  11. $registro=mysqli_query ($conexion, "select id, orden, trabajador, departamento, fechainicio, fechafinal from $tabla") or die ("Problemas en la seleccion".mysqli_error());
  12. echo ("<h2>Listado Actualizado</h2>");
  13. echo ("<table border='2'>");
  14. echo ("<tr><td align='center'>Orden</td><td align='center'>Trabajador</td><td align='center'>Departamento</td><td align='center'>Fecha Inicial</td><td align='center'>Fecha Final</td><td align='center'>Editar</td><td align='center'>Eliminar</td></tr>");
  15. while ($reg=mysqli_fetch_array($registro))
  16. {
  17. echo ("<tr><td align='center'>$reg[orden]</td><td align='center'>$reg[trabajador]</td><td align='center'>$reg[departamento]</td><td align='center'>$reg[fechainicio]</td><td align='center'>$reg[fechafinal]</td><td align='center'><a href='edit.php?id=$reg[id]'><img src='images/edit.png'></img></a></td><td align='center'><a href='borrar.php?id=$reg[id]'><img src='images/deny.png'</img></a></td></tr>");
  18. }
  19. echo ("</table>");
  20. mysqli_close($conexion);
  21.  
  22. ?>
  23. </body>
  24. </html>
  25.  
y como ven, hay un enlace para borrar el contenido asociado al id. Y aquí está el problema

Código
  1. <?php
  2. //borrar.php
  3. /*implementar un algoritmo que al presionar en el boton "borrar" elimine ese usuario de la bd*/
  4.  
  5. //conectar con la BD
  6. $conexion=mysqli_connect("localhost", "root", "") or die("Problemas de conexion");
  7. $tabla="datos";
  8. $bd="trabajo";
  9. $tabla2="eliminados";
  10. $ids=$_REQUEST['id'];
  11. $fechaeliminado=date("Y")."-".date("m")."-".date("d");
  12.  
  13. //seleccion de datos
  14. mysqli_select_db($conexion, $bd) or die("Problemas en la seleccion de la BD");
  15.  
  16. //crear registros
  17. $registro=mysqli_query($conexion, "select * from $tabla where id=$ids") or die ("Problemas al seleccionar desde la BD".mysqli_error());
  18.  
  19. echo ("<h2>Listado Actualizado</h2>");
  20. echo ("<table border='2'>");
  21. echo ("<tr><td align='center'>id</td><td align='center'>Orden</td><td align='center'>Trabajador</td><td align='center'>Departamento</td><td align='center'>Fecha Inicial</td><td align='center'>Fecha Final</td><td align='center'>Fecha Eliminado</td></tr>");
  22. if ($reg=mysqli_fetch_array($registro))
  23. {
  24. //Insertamos los datos que se van a borrar en la otra tabla llamada "eliminados"
  25. mysqli_query($conexion, "insert into $tabla2 (id, orden, trabajador, departamento, fechainicio, fechafinal) values ( $reg[id], $reg[orden], $reg[trabajador], $reg[departamento], $reg[fechainicio], $reg[fechafinal], $fechaeliminado") or die ("Problemas al anadir elementos a la BD '$tabla2'<br>".mysqli_error());
  26. //Eliminar datos de la tabla
  27. mysqli_query($conexion, "delete from $tabla where id='$_REQUEST[id]'") or die ("Problemas al borrar".mysqli_error());
  28. //Cerramos la conexion a la BD
  29. mysqli_close($conexion);
  30. //Redireccionamos a la pagina anterior para ver los datos
  31. header("location:listado_orden.php");
  32.  
  33. ?>
  34.  

Y cuando ejecuto la consulta me arroja el siguiente error:
Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\wamp\www\Trabajo\borrar.php on line 29

Por favor ayudenme. Estoy aprendiendo y si no puedo pasar de aqui no quiero entrar en otros temas más complicados


« Última modificación: 5 Enero 2017, 22:02 pm por danny920825 » En línea

"Los que reniegan de Dios es por desesperación de no encontrarlo".
   Miguel de Unamuno
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [Ayuda] Consulta mysqli_query no funciona
« Respuesta #1 en: 28 Diciembre 2016, 20:39 pm »

Citar
Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\wamp\www\Trabajo\borrar.php on line 29

traduzco:

Warning: mysqli_error() esperaba exactamente 1 parametro, 0 dados


aquí la pagina oficial... por si más dudas... lee eso antes de repsonder cualquier cosa a este tema

http://php.net/mysqli_error


« Última modificación: 28 Diciembre 2016, 21:28 pm por engel lex » En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
danny920825

Desconectado Desconectado

Mensajes: 175


Ver Perfil WWW
Re: [Ayuda] Consulta mysqli_query no funciona
« Respuesta #2 en: 28 Diciembre 2016, 21:23 pm »

Gracias por el consejo, decidí hacer esto
Código
  1. mysqli_error($link);
  2.  
en el or die y me arroja el siguiente texto:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Paula, produccion, 2016-12-25, 2016-12-27, 2016-12-28' at line 1

Puede ser debido a que el campo trabajador tiene mas de una palabra? O sea, no separé el trabajador por nombre, apellido sino que en el campo trabajador el formato es "nombre apellido"?
« Última modificación: 28 Diciembre 2016, 21:32 pm por danny920825 » En línea

"Los que reniegan de Dios es por desesperación de no encontrarlo".
   Miguel de Unamuno
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [Ayuda] Consulta mysqli_query no funciona
« Respuesta #3 en: 28 Diciembre 2016, 21:32 pm »

Citar
Ya revisé la documentación y nada

claramente no estás leyendo ni lo que escribí ni la documentación...

solo te repetiré todo pero en imagenes para centrarte en que leer

el error





tu codigo





la documentación

En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
danny920825

Desconectado Desconectado

Mensajes: 175


Ver Perfil WWW
Re: [Ayuda] Consulta mysqli_query no funciona
« Respuesta #4 en: 28 Diciembre 2016, 21:44 pm »

Parece que coincidimos al escribir. Mientras me escribías que me fijara bien y lo hacías muy didáctico, yo modificaba el comentario donde decía que si a la función
Código
le paso como parámetro la conexion quedando así
Código
  1. mysqli_error($conexion);
entonces el texto cambia a
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Donde la traduccion india de Google dice:
Usted tiene un error en su sintaxis de SQL; Compruebe el manual que corresponde a su versión del servidor MySQL para la sintaxis correcta para usar cerca de '' en la línea 1

Puede ser alguna " que esté mal puesta? Me siento frustrado y solo llevo 1 semana.
En línea

"Los que reniegan de Dios es por desesperación de no encontrarlo".
   Miguel de Unamuno
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [Ayuda] Consulta mysqli_query no funciona
« Respuesta #5 en: 28 Diciembre 2016, 21:47 pm »

ese es un error de alguna sentencia sql... revisa cual sentencia da ese error
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
danny920825

Desconectado Desconectado

Mensajes: 175


Ver Perfil WWW
Re: [Ayuda] Consulta mysqli_query no funciona
« Respuesta #6 en: 28 Diciembre 2016, 21:54 pm »

la sentencia es la siguiente:
Código
  1. mysqli_query($conexion, "insert into $tabla2 (id, orden, trabajador, departamento, fechainicio, fechafinal, fechaeliminado) values ( '$reg[id]', '$reg[orden]', '$reg[trabajador]', '$reg[departamento]', '$reg[fechainicio]', '$reg[fechafinal]', '$fechaeliminado'") or die ("Problemas al anadir elementos a la BD '$tabla2'<br>".mysqli_error($conexion));
  2.  

pero si hago esto antes de poner la sentencia:

Código
  1. echo ("$reg[id], $reg[orden], $reg[trabajador], $reg[departamento], $reg[fechainicio], $reg[fechafinal], $fechaeliminado");
  2.  

Entonces en el navegador se obtiene esto:
1, 123, Danny Paula, produccion, 2016-12-25, 2016-12-27, 2016-12-28
Problemas al anadir elementos a la BD 'eliminados'
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1


O sea que los datos están siendo recibidos por la página pero no los añade a la tabla  :-\ :-\
En línea

"Los que reniegan de Dios es por desesperación de no encontrarlo".
   Miguel de Unamuno
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [Ayuda] Consulta mysqli_query no funciona
« Respuesta #7 en: 28 Diciembre 2016, 21:56 pm »

no,has echo de la sentencia completa... incluyendo el insert y todo... luego agarras el phpmyadmin y la ejecutas directo sobre la tabla a ver si el problema es como la escribiste o los datos
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
danny920825

Desconectado Desconectado

Mensajes: 175


Ver Perfil WWW
Re: [Ayuda] Consulta mysqli_query no funciona
« Respuesta #8 en: 28 Diciembre 2016, 22:01 pm »

Dices algo asi:
Código
  1. echo ("insert into $tabla2 (id, orden, trabajador, departamento, fechainicio, fechafinal, fechaeliminado) values ( '$reg[id]', '$reg[orden]', '$reg[trabajador]', '$reg[departamento]', '$reg[fechainicio]', '$reg[fechafinal]', '$fechaeliminado'<br>");
  2.  

Pues esto es lo que se obtiene:

insert into eliminados (id, orden, trabajador, departamento, fechainicio, fechafinal, fechaeliminado) values ( '1', '123', 'Danny Paula', 'produccion', '2016-12-25', '2016-12-27', '2016-12-28'
Problemas al anadir elementos a la BD 'eliminados'
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1


Ves algo que esté mal o algo así??  :-\
En línea

"Los que reniegan de Dios es por desesperación de no encontrarlo".
   Miguel de Unamuno
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [Ayuda] Consulta mysqli_query no funciona
« Respuesta #9 en: 28 Diciembre 2016, 22:05 pm »

id es de tipo texto ? porque los tipo texto son los que llevan comillas, no lo hacen los tipos numericos... por otro lado... estás ignorando todos los errores


donde está el parentesis de cierre?
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Resuelto] CONSULTA SELECT PHP
PHP
mgarcia.informatico 6 2,748 Último mensaje 30 Diciembre 2014, 15:18 pm
por mgarcia.informatico
[Resuelto] ordenar consulta con like ?
Bases de Datos
basickdagger 2 2,877 Último mensaje 26 Febrero 2015, 20:18 pm
por basickdagger
[Resuelto] Mi formulario web no funciona « 1 2 »
PHP
victorsnk 15 5,958 Último mensaje 22 Marzo 2015, 21:54 pm
por victorsnk
[Resuelto] consulta MY SQL PHP
PHP
javier.lenis 2 1,878 Último mensaje 1 Julio 2015, 19:28 pm
por javier.lenis
[Resuelto] consulta sql para while en php
PHP
tecasoft 4 1,779 Último mensaje 7 Octubre 2015, 19:40 pm
por tecasoft
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines