Insertar en una tabla...

  • Autor Autor xametox
  • Fecha de inicio Fecha de inicio
X

xametox

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Mirad, he desarrollado en un panel. Una opción para enviar mensajes a los jugadores de mi juego.
Este es el codigo que no me funciona bien:
Este error me salta:
CORREO NO ENVIADO! Error returned: 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 'del mensaje correctamente funcionando,0)' at line 1
INSERT INTO mail (sender, receiver, subject, body, money, stationery) VALUES (400,400,AsuntoCorrectamentefuncionando,Cuerpo del mensaje correctamente funcionando,0)

Y no lo entiendo por que las columnas solamente hay sender, receiver, subject, body, money, stationery
 
Hola

Por lo que vi tienes un espacio en $t ext, por lo menos en lo que subiste

haz un echo al $query_string y dinos que dice, completo

Saludos
 
No hay ningun espacio en $t ext
 
INSERT INTO mail (sender, receiver, subject, body, money, stationery) VALUES (400,400,AsuntoCorrectamentefuncionando,Cuerpo del mensaje correctamente funcionando,0)

Faltan comillas en los campos de texto. Debería quedar así:

INSERT INTO mail (sender, receiver, subject, body, money, stationery) VALUES (400,400,"AsuntoCorrectamentefuncionando","Cuerpo del mensaje correctamente funcionando",0)

Creo que deberías modificar la línea que has marcado en rojo para que quede así:

$query_string ='INSERT INTO mail (sender, receiver, subject, body, money, stationery) VALUES ('.$playerguid.','.$playerguid.',"' .$subject. '","'. $t ext .'",'.$money.')';

Ya se que no vas a cambiar todo el código para una simple modificación, pero es mucho mejor usar PDO. Se evitan muchos problemas como el que tienes y aumentas muchísimo la seguridad.
 
en el primer insert

$query_string ='INSERT INTO mail (sender, receiver, subject, body, money, stationery) VALUES ('.$playerguid.','.$playerguid.','.$subject.','.$t ext.','.$money.')';

Ademas tienes 6 en la tabla y solo 5 variables
 
Última edición:
$query_string ='INSERT INTO mail (sender, receiver, subject, body, money, stationery) VALUES ('.$playerguid.','.$playerguid.','.$subject.','.$t ext.','.$money.')';

Ademas tienes 6 en la tabla y solo 5 variables

Lo sé falta el ultimo que sería el stationery, tiene que ser 0. Pero me dice DUPLICATE o algo asi.
He puesto tu linea y me dice ahora esto:
Mail is not sent! Error returned: Unknown column 'hola1' in 'field list'
INSERT INTO mail (sender, receiver, subject, body, money, stationery) VALUES (400,400,hola1,hola2,12)
 

Ese error te lo da cuando no tienes una columna en la base de datos, corre el mismo en SQL de la tabla en phpMyadmin, es mas facil cambiar cosas ahi directamente

Segun eso no tienes la columna subject en la base de datos mail
 
Última edición:
Pues la columna está perfectamente.. Ahí

- - - Actualizado - - -

Bien, esta prácticamente hecho. El problema era. que se hay una tabla la tabla "ID" que siempre se ponía como 0 entonces salía como duplicado por que ya existe otro. Necesito saber como hacer para que se vallan cambiando ya me entendeis,, 1 .. 2.. 3.. asi..
 

Tienes que cambiarlo a auto increment, en phpMysql
 
Ah querías decir Phpmyadmin gracias muchisimas gracias, ya lo he arreglado =)