Foros del Web » Programando para Internet » PHP »

Problema con INSERT

Estas en el tema de Problema con INSERT en el foro de PHP en Foros del Web. Buenos dias!! (O Tardes mas bien :P) Soy nuevo en PHP y estoy realizando pruebas varias en un servidor local con PHP y My SQL ...
  #1 (permalink)  
Antiguo 02/03/2004, 09:08
 
Fecha de Ingreso: marzo-2004
Mensajes: 8
Antigüedad: 20 años, 1 mes
Puntos: 0
Problema con INSERT

Buenos dias!! (O Tardes mas bien :P)

Soy nuevo en PHP y estoy realizando pruebas varias en un servidor local con PHP y My SQL pero tengo unas cuantas dificultades.
Tengo un formuario el cual al ser enviado remite la informacion mediante el metodo POST a la pagina MantenimientoDB.php. En esta ultima tengo el seguiente codigo:

printf("<body>");


// Linea 40

$con = mysql_connect("localhost","root","")
or die("No se ha podido conectar con MySQL Server!");


$db = mysql_select_db("Enlaces")
or die("No se ha podido enlazar con la Base de Datos 'Enlaces'!");

$tabla = mysql_query("SELECT * from tEnlaces");
printf("Gestion en proceso...<br><br>"); // Linea 50

$gestion = $_POST["Gestion"];
$Nombre = $_POST["Name"];
$Clicks = $_POST["Clicks"];
$Direccion = $_POST["Direccion"];
$Categoria = $_POST["Categoria"];
$Comentario = $_POST["Comentario"];

if ($gestion == "Añadir") {
$wwsqlquery = "INSERT INTO tEnlaces ('$Nombre','$Clicks','$Direccion','$Categoria','$C omentario')"; // Linea 60
$queryresult = $mysql_query($wwsqlquery)
or die("La insercion de la nueva Web ha fallado, intentalo de nuevo.");
printf("Gestion realizara correctamente.");
} elseif ($gestion == "Actualizar") {
} elseif ($gestion == "Borrar") {
} elseif ($gestion == "") {
printf("La variable <b>Gestion</b> no tiene valor!!.");
} else {
printf("Imposible realizar la gestion.");
} // Linea 70


printf(" </body></html>");

El problema me surge en que a pesar de tener la base de datos creada y la tabla con sus campos y tipos correctos me sale un error en la linea 61, me he pasado toda la noche dandole vueltas y sinceramente, no se ande esta el fallo de las narices, me podeis dar una pista pls??? ser buenos que es la primera vez que lo hago y la verdad, me es mas facil con DAO :P

Gracias!!!!

Sin mas, Ismael G. Jiménez
[email protected]
  #2 (permalink)  
Antiguo 02/03/2004, 09:21
 
Fecha de Ingreso: febrero-2004
Mensajes: 15
Antigüedad: 20 años, 2 meses
Puntos: 0
la sentencia insert esat mal aplicada

"INSERT INTO nom-tabla campo1,campo2,campo3 VALUES('variable', 'variable2', 'variable3')"
  #3 (permalink)  
Antiguo 02/03/2004, 09:39
Abs
 
Fecha de Ingreso: enero-2003
Mensajes: 216
Antigüedad: 21 años, 2 meses
Puntos: 0
Hola,

Efectivamente la sentencia insert está mal explicada, y otra comentario que tengo que hacer que aunque dé lo mismo, te recomendaría usar echo ""; cuando tengas que mostrar una cosa en vez de printf(""); , porque luego te confundes con la sintaxis y puedes poner cosas tipo echo("bla")

también se te podría decir que unos printf sobran, por ejemplo, sería más fácil ponerlo así:

Código PHP:
<html><body>
<?
Código php
;
?>
</html></body>
Te podías haber ahorrado varías líneas. Printf se usa más para texto largos, en fin, todo este rollo para decirte que utilices echo xD

Saludos
  #4 (permalink)  
Antiguo 02/03/2004, 09:42
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
$wwsqlquery = "INSERT INTO tEnlaces (campo1,campo2,campo3,campo4,campo5 ) values('$Nombre','$Clicks','$Direccion','$Categori a','$C
omentario')";

normalmente se usa asi, pero creo que el insert que haces tambien es correcto (¿bulk insert o algo asi?). sin embargo, no existe la funcion: $mysql_query(), en la linea 61

$queryresult = $mysql_query($wwsqlquery) or die("La insercion de la nueva Web ha fallado, intentalo de nuevo.");

déjala así:

$queryresult = mysql_query($wwsqlquery) or die("La insercion de la nueva Web ha fallado, intentalo de nuevo.");
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseño de flyers online muy fácil de usar.
  #5 (permalink)  
Antiguo 03/03/2004, 01:25
 
Fecha de Ingreso: marzo-2004
Mensajes: 8
Antigüedad: 20 años, 1 mes
Puntos: 0
Gracias por confirmarme como es la sentencia INSERT INTO…

Ya no recibo error al ejecutarla pero el registro no se me inserta recibiendo el die de $queryresult = mysql_query($wwsqlquery) or die("La inserción de la nueva Web ha fallado, inténtalo de nuevo.");

La estructura de la tabla es:

MySQL> use Enlaces
Database changed
MySQL> explain tEnlaces;

+--------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+----------------+
| ID | bigint(20) | | PRI | NULL | auto_increment |
| zNombre | varchar(50) | | | | |
| zClicks | bigint(20) | | | 0 | |
| zDireccion | varchar(50) | | | | |
| zCategoria | varchar(50) | | | | |
| zDescripcion | varchar(200) | | | | |
+--------------+--------------+------+-----+---------+----------------+
6 rows in set (0.17 sec)

Según he leído tengo que insertar según la estructura de la tabla, es decir, en el mismo orden en que cree los campos?? El campo ID se actualiza solo al insertar un nuevo registro o tengo que buscar su valor para insertarlo? Algo tengo que estar haciendo mal porque no hay forma…PHP dispone de la sentencia “Addnew” para meter los registros manualmente?

Gracias!!!!

Sin mas, Ismael G. Jiménez
[email protected]
  #6 (permalink)  
Antiguo 03/03/2004, 04:29
 
Fecha de Ingreso: marzo-2004
Mensajes: 8
Antigüedad: 20 años, 1 mes
Puntos: 0
Lo que mas me extraña es que desde la linea de comandos la sentencia INSERT INTO me funciona y desde la web no, tengo el gafe o que? :D

Gracias!!!!

Sin mas, Ismael G. Jiménez
[email protected]
  #7 (permalink)  
Antiguo 07/03/2004, 04:40
 
Fecha de Ingreso: marzo-2004
Mensajes: 8
Antigüedad: 20 años, 1 mes
Puntos: 0
Sonrisa Problema con INSERT

Reeeee!!!

Despues de unos dias de reposo desconectando de todo e retomado el problema... y sabeis que? ya me funciona!! jis jis jis

Bueno, al grano y para futuras consultas que hagan otros..
Lo que es la sintatxis de la cadena de consulta estaba correcta:

$wwsqlquery = "INSERT INTO tEnlaces(campo1, campo2, campo3, campo4) values('$Nombre','$Clicks','$Direccion','$Categori
a','$Comentario')";

El fallo estaba en al enviar la consulta con: $queryresult = mysql_query('$wwsqlquery') or die(mysql_error());

Las comillas simples sobran y son la causa del error.

Gracias a todos los que me habeis dado ayuda :)

Sin mas, Ismael G. Jiménez
[email protected]
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 07:59.