Autor
|
Tema: [Resuelto] Consulta mysqli_query no funciona (Leído 10,220 veces)
|
danny920825
|
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 <!-- index.php--> <html> <head> <title>Registro de Ordenes de Trabajo</title> </head> <body> <center><H2>Registro de Ordenes de Trabajo</h2> <form action="bd.php" method="post" target="_blank"> <table border='1'> <tr><td>No. de Orden</td><td><input type="text" name="orden"></td></tr> <tr><td>Nombre completo del trabajador</td><td><input type="text" name="trabajador"></td></tr> <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> <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> <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> <tr align="center"><td></td><td><input type="submit" value="enviar" name="enviar"><input type="reset" value="limpiar" name="limpiar"></td></tr> </table> </form> </center> </body> </html>
Esta es la página que procesa los datos y redirecciona hacia la página donde está la tabla <?php //bd.php //Primero comprobamos que la fecha esté correcta if (checkdate($_REQUEST['mesi'], $_REQUEST['diai'], $_REQUEST['anioi']) || checkdate($_REQUEST['mesf'], $_REQUEST['diaf'], $_REQUEST['aniof'])) { $fechai=$_REQUEST['anioi']."-".$_REQUEST['mesi']."-".$_REQUEST['diai']; $fechaf=$_REQUEST['aniof']."-".$_REQUEST['mesf']."-".$_REQUEST['diaf']; //creamos la variable para la conexion y la variable para la tabla $tabla="datos"; $bd="trabajo"; $tabla2="elementos_eliminados"; //seleccionamos la base de datos //Añadir datos a la BD 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()); header("location:listado_orden.php"); } else { echo ("La fecha introducida es incorrecta"); } ?>
Luego los datos se muestran en esta página: <html> <head> <title>Listado de Ordenes de Trabajo</title> </head> <?php /*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*/ $tabla="datos"; $bd="trabajo"; $registro=mysqli_query ($conexion, "select id, orden, trabajador, departamento, fechainicio, fechafinal from $tabla") or die ("Problemas en la seleccion".mysqli_error()); echo ("<h2>Listado Actualizado</h2>"); echo ("<table border='2'>"); 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>"); { 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>"); } echo ("</table>"); ?> </body> </html>
y como ven, hay un enlace para borrar el contenido asociado al id. Y aquí está el problema <?php //borrar.php /*implementar un algoritmo que al presionar en el boton "borrar" elimine ese usuario de la bd*/ //conectar con la BD $tabla="datos"; $bd="trabajo"; $tabla2="eliminados"; $ids=$_REQUEST['id']; //seleccion de datos //crear registros $registro=mysqli_query($conexion, "select * from $tabla where id=$ids") or die ("Problemas al seleccionar desde la BD".mysqli_error()); echo ("<h2>Listado Actualizado</h2>"); echo ("<table border='2'>"); 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>"); { //Insertamos los datos que se van a borrar en la otra tabla llamada "eliminados" 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()); //Eliminar datos de la tabla //Cerramos la conexion a la BD //Redireccionamos a la pagina anterior para ver los datos header("location:listado_orden.php"); ?>
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 29Por 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
|
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
|
Gracias por el consejo, decidí hacer esto
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 1Puede 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
|
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
|
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
le paso como parámetro la conexion quedando así
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 1Donde 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 1Puede 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
|
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
|
la sentencia es la siguiente: 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));
pero si hago esto antes de poner la sentencia: echo ("$reg[id], $reg[orden], $reg[trabajador], $reg[departamento], $reg[fechainicio], $reg[fechafinal], $fechaeliminado");
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
|
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
|
Dices algo asi: 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>");
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 1Ves 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
|
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.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Resuelto] CONSULTA SELECT PHP
PHP
|
mgarcia.informatico
|
6
|
3,060
|
30 Diciembre 2014, 15:18 pm
por mgarcia.informatico
|
|
|
[Resuelto] ordenar consulta con like ?
Bases de Datos
|
basickdagger
|
2
|
3,102
|
26 Febrero 2015, 20:18 pm
por basickdagger
|
|
|
[Resuelto] Mi formulario web no funciona
« 1 2 »
PHP
|
victorsnk
|
15
|
6,697
|
22 Marzo 2015, 21:54 pm
por victorsnk
|
|
|
[Resuelto] consulta MY SQL PHP
PHP
|
javier.lenis
|
2
|
2,080
|
1 Julio 2015, 19:28 pm
por javier.lenis
|
|
|
[Resuelto] consulta sql para while en php
PHP
|
tecasoft
|
4
|
2,058
|
7 Octubre 2015, 19:40 pm
por tecasoft
|
|