Código PHP:
mysql_query("INSERT INTO pj WHERE ID='$id' (ID,namepj,raza,prof,hibrid,edad,apa)
VALUES ('{$id}','{$namepj}','{$raza}','{$prof}','{$hibrid}','{$edad}','{$apa}')",$link);
| |||
![]() hola no estoy seguro de una funcion que estoy implementando queria que la revisaran y me dijeran si esta bien. Código PHP: |
| ||||
Respuesta: funcion hphp para insertar datos en mysql revisar No puedes usar WHERE en un INSERT. Si lo que quieres es actualizar los datos, debes usar UPDATE: http://dev.mysql.com/doc/refman/5.0/es/update.html
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
![]() Cita: ok lo que que quiero es lo siguiente:
Iniciado por David ![]() No puedes usar WHERE en un INSERT. Si lo que quieres es actualizar los datos, debes usar UPDATE: http://dev.mysql.com/doc/refman/5.0/es/update.html aumentar un poco la seguridad con este scrip php y la ceracion de unpersonaje. Código PHP: |
| ||||
Respuesta: funcion hphp para insertar datos en mysql revisar Como te dije, no puedes usar WHERE en una cláusula INSERT (y de hecho no tiene sentido) Quita ese WHERE dejando sólo los campos con sus respectivos valores (si ID es AUTO_INCREMENT, no es necesario que le asignes un valor manualmente)
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
![]() entoces como deveria de quedar : Código PHP: si ves bien la id es una variable del codigo php, ID es una columna de las 2 tablas usadas, tanto la tabla user como la tabla pj, por eso es que lo uso manualmente por ejemplo toma el ID de la tabla usar que tiene X nombre y lo inserta en la tabla pj en la columna ID. deve ser manual. |
| ||||
Respuesta: funcion hphp para insertar datos en mysql revisar No puedes actualizar el registro (UPDATE) si en la sentencia inmediatamente anterior estás justamente eliminando ese registro. Si lo que quieres es realmente insertar después de haber eliminado, debes hacerlo de la forma en que indiqué (quitar ese WHERE que no tiene ningún sentido y no especificar el ID que si es AUTO_INCREMENT se le asignará un valor automáticamente)
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
![]() Cita: lo que hace el php o deveria de hacer es primero funcionar como un filtro:1 si el namepj esta basio mandar a un error y que vuelva a crear el personaje. 2 si la profecion es 0000 (no existe esta profecion, deve pasar los mimo que en el paso 1, regresa a que crear el personaje ovio enviando los errores, 3 si act (activacion es mayor que 0) esto quiere decir que ya existe un personaje, manda el primer error de personajes. o le dice que el personaje est creado anteriormente, 4 $namepj_exist>0 entonces ya existe un personaje con ese nombre. 5 $id_exist> ya existe un personje con el mismo id 6: este script Código PHP: Código PHP: si todo va bien asta aki entonces buscamos en la tabla pj en la columna ID le valor que consuerda con la variable $id y actualisamos los siguientes datos: Código PHP: |
| |||
![]() Ok actualiso el script nuevo seria asi: Código PHP: |
| ||||
Respuesta: funcion hphp para insertar datos en mysql revisar ¿Has leído el enlace que te pasé? Esa no es la sintaxis de UPDATE, la sintaxis de UPDATE es:
Código MySQL:
Ver original
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
![]() Cita: ok estube revisando lo que me dijiste estonces remplaso por esto? dime si esta biem por que son varias cosas.
Iniciado por David ![]() ¿Has leído el enlace que te pasé? Esa no es la sintaxis de UPDATE, la sintaxis de UPDATE es:
Código MySQL:
Ver original Código PHP: |
| ||||
Respuesta: funcion hphp para insertar datos en mysql revisar WHERE debe ir después de la asignación de valores (SET)
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
![]() entonces quedaria asi: Código PHP: |
| ||||
Respuesta: funcion hphp para insertar datos en mysql revisar Sí, esa sería la sintaxis correcta. ¿Lo has probado?
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Respuesta: funcion hphp para insertar datos en mysql revisar Warning: mysql_query() expects parameter 2 to be resource, null given in H:\xampplite\htdocs\ser.php on line 58 Warning: mysql_error() expects parameter 1 to be resource, null given in H:\xampplite\htdocs\ser.php on line 60 me manda esos errores segunlo que he leido dice que devo volver a incluir: include("config/config.php"); pero ya lo tengo en las lineas de arriba. Última edición por arcanisgk1; 22/10/2009 a las 20:57 |
| ||||
Respuesta: funcion hphp para insertar datos en mysql revisar ¿De dónde sale $link? (por cierto, ese parámetro es opcional)
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Respuesta: funcion hphp para insertar datos en mysql revisar reviso si n eso. ok con eso elimina 1 solamente y me manda este error: Warning: mysql_error() expects parameter 1 to be resource, null given in H:\xampplite\htdocs\ser.php on line 59 |
| |||
![]() haora no me manda errores pero al final reviso la tabla y me dice que esta vacia XDç eso si revice las variables imprimiendolas si todo andava bien y las imprime correctamente pero no las guarda en la columna que la tabla. esta es la estructura de la tabla.
Código:
DROP TABLE IF EXISTS `pj`; CREATE TABLE IF NOT EXISTS `pj` ( `ID` int(8) unsigned NOT NULL COMMENT 'Identifica Numero De Personaje', `activate` int(1) unsigned NOT NULL DEFAULT '0' COMMENT 'Finalisa la creacion del personaje', `namepj` varchar(40) CHARACTER SET latin1 NOT NULL COMMENT 'Nombre del Personaje', `cname` int(1) NOT NULL COMMENT 'Chequea estado' DEFAULT '0', `cid` int(1) NOT NULL COMMENT 'Chequea estado' DEFAULT '0', `duen` int(6) NOT NULL COMMENT 'Dueño del Personaje', `raza` int(3) NOT NULL COMMENT 'Raza Del Personaje', `prof` int(4) NOT NULL COMMENT 'Profesión', `hibrid` int(4) NOT NULL COMMENT 'Profesión Secundaria', `sexo` int(1) NOT NULL COMMENT 'Sexo', `edad` int(10) NOT NULL COMMENT 'Edad', `orig` int(5) NOT NULL COMMENT 'Lugar De Origen O De Donde Viene', `apa` varchar(250) CHARACTER SET latin1 NOT NULL COMMENT 'Apariencia Del Personaje', ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1 ; creo que esto esta mal no?? AUTO_INCREMENT=1 ; otra cosa es preferible que si la tabla se va a llenar en 4 o 5 pasos por ejemplo le quite esto: NOT NULL |
| ||||
Respuesta: funcion hphp para insertar datos en mysql revisar Debes especificar al crear la tabla que ID sea autonumérico:
Código MySQL:
En cuanto a por qué no inserta, imprime el valor de mysql_error() para saber cuál es el problema. Ver original
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
![]() Cita: no puede ser autonumerico ya que la ID de la tabla pj es extraida de la tabla user.
Iniciado por David ![]() Debes especificar al crear la tabla que ID sea autonumérico:
Código MySQL:
En cuanto a por qué no inserta, imprime el valor de mysql_error() para saber cuál es el problema.Ver original |
| ||||
Respuesta: funcion hphp para insertar datos en mysql revisar Lo hubieras dicho desde el principio. ¿Ya imprimiste el valor de mysql_error() para saber si la consulta genera algún problema?
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Respuesta: funcion hphp para insertar datos en mysql revisar el mysql_error() no lo imprimido voy a revisar pero si imprimo los valores de la siguiente forma y lo hace correctamente: echo "ID: $id<br>"; echo "namepj: $namepj<br>"; echo "raza: $raza<br>"; echo "prof: $prof<br>"; echo "hibrid: $hibrid<br>"; echo "edad: $edad<br>"; echo "apa: $apa"; listo mande a imprimir y no me sale nada: Código PHP: Última edición por arcanisgk1; 24/10/2009 a las 19:04 |
| ||||
Respuesta: funcion hphp para insertar datos en mysql revisar Debes imprimirlo después de realizar la consulta, en caso de que mysql_query() devuelva falso.
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |