Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Duda grande con INSERT INTO y la clausula WHERE

Estas en el tema de Duda grande con INSERT INTO y la clausula WHERE en el foro de PHP en Foros del Web. Saludos tengo un problema con un codigo, quiero insertar datos con el clasico INSERT INTO pero con una condicional de WHERE, pero creo que eso ...
  #1 (permalink)  
Antiguo 26/09/2014, 12:43
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 13 años, 6 meses
Puntos: 3
Duda grande con INSERT INTO y la clausula WHERE

Saludos tengo un problema con un codigo, quiero insertar datos con el clasico INSERT INTO pero con una condicional de WHERE, pero creo que eso no puede hacer y yo lo que quiero es insertar datos asi con una condicinal donde sea el usuario tal...alguien me podria ayudar, gracias.

aqui mi codigo:

Código PHP:
<?php

session_start
();
echo 
$_SESSION['variable'];

$asunto=$_POST['asunto'];
$mensaje=$_POST['mensaje'];
$usuario1=$_SESSION['variable'];

mysql_connect("localhost","root","");
    
mysql_select_db("datos");

mysql_query("insert into datos1(asunto, mensaje) values ('$asunto','$mensaje') WHERE usuario = '" $usuario1 "'");
?>
  #2 (permalink)  
Antiguo 26/09/2014, 13:02
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Duda grande con INSERT INTO y la clausula WHERE

Cita:
tengo un problema con un codigo, quiero insertar datos con el clasico INSERT INTO pero con una condicional de WHERE, pero creo que eso no puede hacer
No, no se puede, porque un INSERT es una sentencia incondicional, y no tiene ninguna cláusula WHERE. Si la pusieras te daría un error de sintaxis.
Cita:
y yo lo que quiero es insertar datos asi con una condicinal donde sea el usuario tal...
Eso no es insertar, sino actualizar (UPDATE).
No es lo mismo.

Si lo que quieres es insertar algo si no existe, son dos consultas, una para la validación y otra para la inserción.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 26/09/2014, 13:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Duda grande con INSERT INTO y la clausula WHERE

Por favor revisa un manual de SQL pues tu problema nada tiene que ver con código PHP.

La sentencia INSERT no admite WHERE, en todo caso necesitas hacer un UPDATE.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 26/09/2014, 13:03
Avatar de alealvaro  
Fecha de Ingreso: junio-2004
Ubicación: BA - Argentina
Mensajes: 210
Antigüedad: 19 años, 11 meses
Puntos: 12
Respuesta: Duda grande con INSERT INTO y la clausula WHERE

Si lo que quieres es modificar un row ya existente en la db, tienes que hacer un update:

Código PHP:
Ver original
  1. mysql_query("UPDATE usuarios SET asunto='{$asunto}', mensaje='{$mensaje}' WHERE usuario = '{$usuario1}'");
__________________
Always learning a little more...
Videos y frases para dedicar
Quotes and Phrases for You
  #5 (permalink)  
Antiguo 26/09/2014, 13:13
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: Duda grande con INSERT INTO y la clausula WHERE

Hola Alvaro, ahi esta mi problema son rows inexistentes por eso es que con un UPDATE se me haria rarisimo hacerlo, no quiero actualizar sino insertar registros "nuevos" basados en una condicional.
  #6 (permalink)  
Antiguo 26/09/2014, 13:14
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: Duda grande con INSERT INTO y la clausula WHERE

Cita:
Iniciado por pateketrueke Ver Mensaje
Por favor revisa un manual de SQL pues tu problema nada tiene que ver con código PHP.

La sentencia INSERT no admite WHERE, en todo caso necesitas hacer un UPDATE.
Oh disculpe señor soy algo novato en esto
  #7 (permalink)  
Antiguo 26/09/2014, 13:15
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Duda grande con INSERT INTO y la clausula WHERE

¿Entendiste que no existe condicional en INSERT?
Si lo que quieres es insertar cuando algo no existe, debes primero consultar si existe o no, y recién entonces insertar.
SQL no es PHP, tiene sus propias reglas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 26/09/2014, 13:18
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: Duda grande con INSERT INTO y la clausula WHERE

ok ya di mis "debidas disculpas al moderador" y siii ya te entendi.
  #9 (permalink)  
Antiguo 26/09/2014, 16:33
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Duda grande con INSERT INTO y la clausula WHERE

Hay otra opción que es REPLACE; lo que hace buscar si existe el registro, si es el caso, lo elimina y después inserta; aunque hay que tener cuidado, porque puede dar más problemas que soluciones.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: clausula, grande, insert, mysql, select, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:41.