Foros del Web » Programando para Internet » PHP »

No edita los registros

Estas en el tema de No edita los registros en el foro de PHP en Foros del Web. Código PHP: <?php //recibimos las variables enviadas por el formulario $id = $_POST [ id ]; $titulo = $_POST [ titulo ]; $autor = $_POST [ autor ]; $categoria = $_POST ...
  #1 (permalink)  
Antiguo 27/10/2008, 12:30
Avatar de karlic0s  
Fecha de Ingreso: abril-2007
Ubicación: Cartagena (Murcia)
Mensajes: 241
Antigüedad: 17 años
Puntos: 18
No edita los registros

Código PHP:
<?php
//recibimos las variables enviadas por el formulario
$id=$_POST[id];
$titulo=$_POST[titulo];
$autor=$_POST[autor];
$categoria=$_POST[categoria];
$articulo=$_POST[articulo];

$link mysql_connect("localhost""root" "password");
   
mysql_select_db("db",$db); 
   
$sql "UPDATE comentarios SET id='$id', autor='$autor',categoria='$categoria', articulo='$articulo' WHERE id=$id";
   
$result mysql_query($sql);


header("location: index.php");
?>
Bueno, no me da error, pero no me edita los registros, alguna idea? (quizas sea una tonteria muy grande pero llevo 3 horas retocando un sistema de noticias y ya se me ha nublado hasta el alma)
  #2 (permalink)  
Antiguo 27/10/2008, 12:36
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: No edita los registros

Código PHP:
<?php
//recibimos las variables enviadas por el formulario
$id=$_POST[id];
$titulo=$_POST[titulo];
$autor=$_POST[autor];
$categoria=$_POST[categoria];
$articulo=$_POST[articulo];

$link mysql_connect("localhost""root" "password");
   
mysql_select_db("db",$db); 
   
$sql "UPDATE comentarios SET id='$id', autor='$autor',categoria='$categoria', articulo='$articulo' WHERE id=$id";
echo 
"<script>alert(\"$sql\")</script>"//linea del alert
   
$result mysql_query($sql);


header("location: index.php");
?>
Ejecutalo de esta forma, y analiza lo que sale en el alert, encontrarás porque no te actualiza

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #3 (permalink)  
Antiguo 27/10/2008, 13:04
Avatar de karlic0s  
Fecha de Ingreso: abril-2007
Ubicación: Cartagena (Murcia)
Mensajes: 241
Antigüedad: 17 años
Puntos: 18
Respuesta: No edita los registros

Gracias the_web_saint

Me sale una ventana que pone: update comentarios set id="x" asi con todos los campos que seleccioné con la id y luego... Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:\wamp\www\prueba\edit.php on line 10, aunque me quedo como antes... :S
  #4 (permalink)  
Antiguo 27/10/2008, 13:07
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: No edita los registros

Umm, creo que en esta línea:

Código php:
Ver original
  1. mysql_select_db("db",$db);

Deberías poner algo como:

Código php:
Ver original
  1. mysql_select_db("db",$link);
  #5 (permalink)  
Antiguo 27/10/2008, 13:19
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: No edita los registros

Es cierto, debes especificar el identificador que se retorna al conectar con la Base de datos y ese es $link.
Muy posible sea eso el error.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #6 (permalink)  
Antiguo 27/10/2008, 14:25
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: No edita los registros

Que tal karlicOs, aparte de lo que ya te dijeron, mejor es utilizar comillas para indicar las variables que te llegan del formulario y así no le recargas trabajo al PHP y evitas errores de tipo notice, ademas siempre procura utilizar la función mysql_error() , para descartar en algún momento posibles errores en las consultas
Código php:
Ver original
  1. <?php
  2. //recibimos las variables enviadas por el formulario
  3. $id=$_POST['id'];
  4. $titulo=$_POST['titulo'];
  5. $autor=$_POST['autor'];
  6. $categoria=$_POST['categoria'];
  7. $articulo=$_POST['articulo'];
  8. $link = mysql_connect("localhost", "root" , "password");
  9. mysql_select_db("db",$link);  
  10. $sql = "UPDATE comentarios SET id='$id', autor='$autor',categoria='$categoria', articulo='$articulo' WHERE id=$id";
  11. $result = mysql_query($sql, $link) or die("Error en consulta $sql:".mysql_error() );
  12. header("location: index.php");
  13. ?>


Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #7 (permalink)  
Antiguo 27/10/2008, 14:39
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: No edita los registros

te falta una comilla en el

where id='$id';
  #8 (permalink)  
Antiguo 27/10/2008, 14:57
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: No edita los registros

esas comillas no son necesarias. Como es un número entero, por ser el id, no se le colocan comillas.
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #9 (permalink)  
Antiguo 27/10/2008, 14:59
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: No edita los registros

en local yo tengo que ponerle comillas simples por mas que sea un numero para que me busque el resultado
  #10 (permalink)  
Antiguo 27/10/2008, 15:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: No edita los registros

the_web_saint, tiene razón cuando son números no es necesario, ¿que tipo de dato tienes en tu columna y que versión de MySQL manejas?

Saludos.
  #11 (permalink)  
Antiguo 27/10/2008, 16:00
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Respuesta: No edita los registros

Cita:
Iniciado por Keysher Ver Mensaje
Umm, creo que en esta línea:

Código php:
Ver original
  1. mysql_select_db("db",$db);

Deberías poner algo como:

Código php:
Ver original
  1. mysql_select_db("db",$link);
ese estilo de declaracion de funcion para seleccionar la base de datos no es realmente actual... por que ya en la nueva version de php 5 no se usa mas... debe ser sin el link de conexion osea de la siguiente manera.

mysql_select_db("nombreDeLaBaseDeDatos");
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #12 (permalink)  
Antiguo 28/10/2008, 07:24
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: No edita los registros

Bueno puede colocarse sin el identificador, es decir, ese parametro es opcional, pero si se coloca tampoco es erroneo. Si no se coloca php asume que es el último abierto.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #13 (permalink)  
Antiguo 28/10/2008, 07:27
Avatar de karlic0s  
Fecha de Ingreso: abril-2007
Ubicación: Cartagena (Murcia)
Mensajes: 241
Antigüedad: 17 años
Puntos: 18
Respuesta: No edita los registros

Gracias por su ayuda, lo he conseguido solucionar entre todos, ademas de ese error, tenia un error de variables mal definidas. Gracias!!! ^^
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 20:39.