Foros del Web » Programando para Internet » PHP »

Me estoy haciendo un lío con las comillas en una query

Estas en el tema de Me estoy haciendo un lío con las comillas en una query en el foro de PHP en Foros del Web. Pregunta de pardilla total Tengo que hacer un INSERT con varias variables y me estoy haciendo un lio del carallo con las comillas las dobles ...
  #1 (permalink)  
Antiguo 14/06/2003, 04:21
Avatar de t0m|ta  
Fecha de Ingreso: julio-2002
Ubicación: Madrid
Mensajes: 369
Antigüedad: 22 años, 3 meses
Puntos: 3
Me estoy haciendo un lío con las comillas en una query

Pregunta de pardilla total

Tengo que hacer un INSERT con varias variables y me estoy haciendo un lio del carallo con las comillas las dobles comillas y voy un poco al tutun probando diferentes combinaciones

Código PHP:
$sql ="INSERT INTO manual_comments SET  
          topic_id = "
$topic_id .", 
          comentario = " 
.$comentario " , 
          fecha = " 
$fecha ", 
        user_id = " 
$user_id "; 
Sé que lo estoy hasienod mal pero no sé cómo haserlo bien, alguien me puede dar una pista?

Saludos y gracias.
__________________
:ojotes: t0m|ta - IHQ :ojotes:
No tengo palabras
Instrucciones de andar por casa
  #2 (permalink)  
Antiguo 14/06/2003, 07:40
Avatar de Sexma  
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 109
Antigüedad: 21 años, 5 meses
Puntos: 0
A ver si te puedo ayudar,las comillas dobles las utilizas para asignar un texto a una variable en php y dentro de la consulta utilizas comillas simples cuando quieres menter texto en un campo de tipo alfanumerico y no utilices comillas si es de tipo numerico.

Ejemplo:

Código PHP:
$sql "INSERT INTO manual_comments SET topic_id = 1, comentario='tu comentario',fecha='1/6/2003/',user_id = 1;" 
y como tu tienes los datos que quieres meter en varibles lo mas facil es cambiar los datos por las variables y asi te lias menos.

Código PHP:
$sql "INSERT INTO manual_comments SET topic_id = $topic_id, comentario='$comentario',fecha='$fecha',user_id = $user_id;" 
Y por ultimo si lo quieres hacer a lo profesional sustituye $variable por ". $variable ." y ya esta :)

Código PHP:
$sql "INSERT INTO manual_comments SET topic_id = "$topic_id .", comentario='"$comentario ."',fecha='"$fecha ."',user_id = "$user_id";" 
Solo hay que tener cuidado con las comillas porque al final te puedes hacer la picha un lio. Espero que te haya ayudado
  #3 (permalink)  
Antiguo 14/06/2003, 08:22
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años, 7 meses
Puntos: 2
yo el SET lo utilizo unicamente para los UPDATE'S de tablas..xD
yo uso eestos querys de insercion:

Código PHP:

$campo1 
$_POST[$campo1];
$campo2 $_POST[$campo2];

mysql_query("INSERT INTO tabla (campo1,campo2)
 VALUES ('$campo1','$campo2')"
); 
Prueba asi y me dices..

Salu2
__________________
http://www.chorcha.com
  #4 (permalink)  
Antiguo 14/06/2003, 10:15
Avatar de Sexma  
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 109
Antigüedad: 21 años, 5 meses
Puntos: 0
Lo del set tiens razon que creo que es solo para los update, esto de hacer copy/paste.... xD
  #5 (permalink)  
Antiguo 14/06/2003, 10:29
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años, 7 meses
Puntos: 2
atento muchacho

Salu2
__________________
http://www.chorcha.com
  #6 (permalink)  
Antiguo 14/06/2003, 11:40
Avatar de t0m|ta  
Fecha de Ingreso: julio-2002
Ubicación: Madrid
Mensajes: 369
Antigüedad: 22 años, 3 meses
Puntos: 3
Muchas gracias por las indicaciones y las pistas, seguiré intentandolo. La verdad es que mi primera query, la hice como dice camargo, pero como no me salió, intenté con esta otra manera que venía en un manual, cuando me salga os lo digo :P

Saludos y gracias
__________________
:ojotes: t0m|ta - IHQ :ojotes:
No tengo palabras
Instrucciones de andar por casa
  #7 (permalink)  
Antiguo 14/06/2003, 14:00
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años, 7 meses
Puntos: 2
Vale, esperaremos ese momento
xDD

Tiene q funcionar;)

Salu2
__________________
http://www.chorcha.com
  #8 (permalink)  
Antiguo 14/06/2003, 15:29
Avatar de t0m|ta  
Fecha de Ingreso: julio-2002
Ubicación: Madrid
Mensajes: 369
Antigüedad: 22 años, 3 meses
Puntos: 3
Funciona!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


Grasias grasias


PD: la query en cuestión

Código PHP:
$sql"INSERT INTO manual_comments (topic_id,comentario,fecha,user_id)
 VALUES ('$topic_id','$comentario','$fecha','$user_id')"

__________________
:ojotes: t0m|ta - IHQ :ojotes:
No tengo palabras
Instrucciones de andar por casa
  #9 (permalink)  
Antiguo 15/06/2003, 10:30
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años, 7 meses
Puntos: 2
vees,, es como te dihe men..

__________________
http://www.chorcha.com
  #10 (permalink)  
Antiguo 22/06/2003, 07:01
Avatar de t0m|ta  
Fecha de Ingreso: julio-2002
Ubicación: Madrid
Mensajes: 369
Antigüedad: 22 años, 3 meses
Puntos: 3
sigo haciéndome líos :--(

si entendí bien, cuando se trata de un número no hace falta entrecomillar la variable en la query así que esto estaría bien:

$sql = "SELECT COUNT(*) AS count FROM manual_comments WHERE topic_id = $topic_id";

Pero me dice qué:

Parse error: parse error, unexpected T_VARIABLE, expecting ',' or ';' in /home/tomatoma/public_html/inclu/comment_number1.php on line 8

No yo pa ke me emperro en haserme estas cosas :P
__________________
:ojotes: t0m|ta - IHQ :ojotes:
No tengo palabras
Instrucciones de andar por casa
  #11 (permalink)  
Antiguo 22/06/2003, 07:23
Avatar de sdf23  
Fecha de Ingreso: diciembre-2002
Mensajes: 297
Antigüedad: 21 años, 11 meses
Puntos: 0
para el count esa asi

$sql = "SELECT COUNT(*) FROM manual_comments WHERE topic_id = '$topic_id'";

ok :P
__________________

la vida es bella cuando no es culera
  #12 (permalink)  
Antiguo 22/06/2003, 10:47
Avatar de t0m|ta  
Fecha de Ingreso: julio-2002
Ubicación: Madrid
Mensajes: 369
Antigüedad: 22 años, 3 meses
Puntos: 3
Je gracias sdf me has contestado en los dos lados, ahora ya se hacerlo de las dos maneras con globals y sin ellas
__________________
:ojotes: t0m|ta - IHQ :ojotes:
No tengo palabras
Instrucciones de andar por casa
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 21:35.