PHP - Error en INSERT ON DUPLICATE KEY desde PHP

 
Vista:

Error en INSERT ON DUPLICATE KEY desde PHP

Publicado por Dvd (2 intervenciones) el 14/05/2018 10:08:18
Hola a tod@s

Es mi primera participación en un foro, espero explicarme y no equivocarme.

La cuestión es que llevo un par de días atascado en un INSERT que me da error pero no soy capaz de localizar.

Lo escribo en este foro porque sólo me falla desde PHP, si copio la instrucción tal cual y la ejecuto en el SQL de phpMyAdmin funciona perfectamente.

Le he dado un montón de vueltas y no encuentro el fallo. He quitado y vuelto a poner todas las comillas posibles en , función del tipo de datos, he comprobado los nombre de los campos etc pero nada.

No sé si puede tener algo que ver con la versión de PHP o algo similar.

Insisto en que ejecutado en phpMyAdmin funciona perfectamente. Adjunto el INSERT.

Los campos que terminan en F son de tipo texto, el primero de cada grupo es el ID numérico y los demás booleanos.

Gracias por vuestro tiempo de antemano.

1
2
3
4
5
6
7
8
9
10
11
12
INSERT INTO miTabla (item_id, itmPedido, itmPedidoF, itmRecibido,
itmRecibidoF, itmPreparado, itmPreparadoF, itmEnviado, itmFEnv) VALUES
(1, -1, '11/5/2018', -1, '11/5/2018', -1, '13/5/2018', 0, ''),
(2, -1, '11/5/2018', -1, '11/5/2018', -1, '13/5/2018', 0, ''),
(3, -1, '11/5/2018', -1, '11/5/2018', -1, '13/5/2018', 0, ''),
(6, -1, '11/5/2018', -1, '11/5/2018', -1, '13/5/2018', 0, ''),
(9, -1, '02/04/18', -1, '05/04/18', -1, '13/5/2018', 0, ''),
(10, -1, '18/04/02', -1, '18/04/05', -1, '13/5/2018', 0, ''),
(11, -1, '11/5/2018', -1, '13/5/2018', -1, '13/5/2018', 0, ''),
(15, -1, '13-05-2018', -1, '13-05-2018', -1, '13/5/2018', 0, '')
ON DUPLICATE KEY UPDATE
item_id=VALUES(item_id), itmPedido = VALUES(itmPedido), itmPedidoF = VALUES(itmPedidoF), itmRecibido=VALUES(itmRecibido), itmRecibidoF=VALUES(itmRecibidoF), itmPreparado = VALUES(itmPreparado), itmPreparadoF=VALUES(itmPreparadoF), itmEnviado = VALUES(itmEnviado), itmFEnv = VALUES(itmFEnv)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Error en INSERT ON DUPLICATE KEY desde PHP

Publicado por xve (6935 intervenciones) el 14/05/2018 16:49:03
Hola Dvd, si la consulta te funciona poniéndola directamente a MySQL, entiendo que el problema esta en la manera en que te conectas o envías el query a MySQL...
Nos puedes mostrar el código PHP que utilizas para conectarte y enviar la query?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error en INSERT ON DUPLICATE KEY desde PHP

Publicado por Dvd (2 intervenciones) el 14/05/2018 18:05:41
Hola !!!

Y gracias por contestar !!!

Tengo una librería de conexión básica que ya llevo usando meses en la misma web, así que dudo que sea eso, ya que en el resto de páginas y operaciones funciona correctamente a día de hoy.

De todas formas la adjunto abajo, por si acaso.


También lo había pensado, y he colocado

1
2
3
4
5
if (mysqli_ping($enlace)) {
    printf ("¡La conexión está bien!\n");
} else {
    printf ("Error: %s\n", mysqli_error($enlace));
}

justo antes del INSERT para asegurarme, también me ha me ha dado ok


La función de INSERT es ésta, es llamada y recibe el parámetro desde AJAX. También he comprobado que el parámetro llegue bien (por eso está el echo), y lo hace correctamente.


1
2
3
4
5
function guardar() {
   echo ($_POST["paramSql"]);
   $queUsu = mysqli_query($connect, $_POST["paramSql"]) or die("Problemas en el select 0 " . mysqli_error());
   return $queUsu;
}


La función de conexión es ésta. Aunque ya digo que en el resto de llamada funciona correctamente.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
  // datos para la coneccion a mysql
  define('DB_SERVER','*********');
  define('DB_NAME','********');
  define('DB_USER','*********');
  define('DB_PASS','*********');
 
  $connect=mysqli_connect(DB_SERVER, DB_USER, DB_PASS) or die("Problemas de acceso. Revisa la conexión");
 
 
/* comprueba la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión con la base de datos : %s\n", mysqli_connect_error());
    exit();
}
 
mysqli_select_db($connect, DB_NAME) or die("Problemas en el acceso a la base de datos");
 
?>

A ver si lo resolvemos, gracias por tu tiempo xve
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error en INSERT ON DUPLICATE KEY desde PHP

Publicado por MundoPortal365 (10 intervenciones) el 29/05/2018 01:40:58
Buenas tardes,

Por donde creaste eas tabla, por wizard o por código? Cómo trataste las claves primarias y unicas?

Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar