[Resuelto] Consulta mysqli_query no funciona

Iniciado por danny920825, 28 Diciembre 2016, 20:35 PM

0 Miembros y 1 Visitante están viendo este tema.

danny920825

Código (sql) [Seleccionar]
# Nombre Tipo Cotejamiento Atributos Nulo Predeterminado Extra Accion
1 id int(11) No      Ninguna                                 Cambiar Cambiar Eliminar Eliminar


Así se ve mi campo "id" en el phpMyAdmyn.

Y con respecto a lo de las comillas... Mis más sinceras y frustradas disculpas. Si hago esto:
Código (php) [Seleccionar]

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>");

respetando los () en cada caso, obtengo el siguiente resultado
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


que es el mismo de la vez anterior
"Los que reniegan de Dios es por desesperación de no encontrarlo".
   Miguel de Unamuno

engel lex

con phpmyadmin puedes ingresar un valor a una tabla... has eso, el te mostrará la sentencia sql que usó y comparala con la tuya a ver que tienes mal... me suena que son comillas, pero no estoy seguro...
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

Ya lo hice y cuando le di "Crear Código PHP" sale esto

Código (php) [Seleccionar]
$sql = "INSERT INTO `trabajo`.`eliminados` (`id`, `orden`, `trabajador`, `departamento`, `fechainicio`, `fechafinal`, `fechaeliminado`) VALUES (\'1\', \'123\', \'Danny Paula\', \'produccion\', \'2016-12-25\', \'2016-12-27\', \'2016-12-28\');";

Lo pongo así mismo aunque creo que hay algún error en las comillas del phpMyAdmin. Igual veo que el phpMyAdmin pone
Código (php) [Seleccionar]
$sql = "insert into (BD).(TABLA)"
pero yo tengo el código dividido por secciones. O sea, yo tengo creo la conexion, selecciono la BD y despues hago la consulta...
"Los que reniegan de Dios es por desesperación de no encontrarlo".
   Miguel de Unamuno

danny920825

Un paso de avance. Cuando dijiste hace un rato que era problemas de comillas lo que hice fue que quite las ' ' de la expresion $reg[variable]:
Código (php) [Seleccionar]
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));
como ves está sin terminar, pues el error lo da en el trabajador. Cuando llegue a la casa voy a probar creando las tablas de nuevo y separando el nombre de los apellidos en campos diferentes. Pues parece que ahi está el error, pero no puedo lograr que funcione así. A pesar que en la tabla anterior si guardé los datos con espacios en la BD.
"Los que reniegan de Dios es por desesperación de no encontrarlo".
   Miguel de Unamuno

engel lex

tarabajador me imagino que es un tipo de texto... debes pasarlo con comillas si es asi
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

ya pase los 2 datos que son de tipo text con comillas usando
Código (php) [Seleccionar]
\"$reg[trabajador]\", \"$reg[departamento]\"
pero sigue dando el mismo error. Algo más para probar? Ya intenté poner las "" dentro de los [] con el \ y nada. Tambien probé usando dentro del [] \' pero tampoco
"Los que reniegan de Dios es por desesperación de no encontrarlo".
   Miguel de Unamuno

engel lex

no... comillas simples siempre... olvidate del \  has tu texto abriendo y cerrando con comillas dobles y usa comillas simples donde deban ir comillas
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

#17
Antes que todo Felicidades por año nuevo. Gracias a engel lex por brindarme su ayuda cuando podría estar preparando las cosas de fin de año. Al final me senté en mi casa con calma esa noche y lo hice. Lo que tenia mal era que me faltaba un ) en la sentencia. Lo puse y listo. Así que pueden cerrar el tema. Nos vemos en la próxima entrada. Que PHP es interesante y las ayudas son validas
"Los que reniegan de Dios es por desesperación de no encontrarlo".
   Miguel de Unamuno