Foros del Web » Programando para Internet » PHP »

Update de mysql en PHP

Estas en el tema de Update de mysql en PHP en el foro de PHP en Foros del Web. Tengo el siguiente código, pero no me modifica, elimina el contenido de la noticia. Código PHP: $insertSQL  =  sprintf ( "update noticia set titulo='" . $_POST [ 'titulo' ...
  #1 (permalink)  
Antiguo 21/08/2010, 00:42
Avatar de MarioAlejandroCR2  
Fecha de Ingreso: mayo-2010
Ubicación: Esparza - Puntarenas
Mensajes: 98
Antigüedad: 13 años, 11 meses
Puntos: 2
Pregunta Update de mysql en PHP

Tengo el siguiente código, pero no me modifica, elimina el contenido de la noticia.

Código PHP:
$insertSQL sprintf("update noticia set titulo='".$_POST['titulo']."',contenido='".$_POST['contenido']."',autor='".$_POST['autor']."',fecha='".$_POST['fecha']."',hora='".$_POST['hora']."',tag='".$_POST['tag']."' where titulo = '".$_POST['lsttitulo']."'"); 
Si no se ve bien.
Código PHP:
Ver original
  1. $insertSQL = sprintf("update noticia set titulo='".$_POST['titulo']."',contenido='".$_POST['contenido']."',autor='".$_POST['autor']."',fecha='".$_POST['fecha']."',hora='".$_POST['hora']."',tag='".$_POST['tag']."' where titulo = '".$_POST['lsttitulo']."'");

¿Qué puede ser, los nombres estaán bien escritos?

Última edición por MarioAlejandroCR2; 21/08/2010 a las 00:51
  #2 (permalink)  
Antiguo 21/08/2010, 03:01
 
Fecha de Ingreso: septiembre-2009
Mensajes: 210
Antigüedad: 14 años, 7 meses
Puntos: 19
Respuesta: Update de mysql en PHP

$insertSQL = "update `noticia` set titulo='".$_POST['titulo']."',contenido='".$_POST['contenido']."',autor='".$_POST['autor']."',fecha='".$_POST['fecha']."',hora='".$_POST['hora']."',tag='".$_POST['tag']."' where titulo = '".$_POST['lsttitulo']."'";

Así quizás estaría bien, pero para una edición de noticias te recomiendo hacerlo "where id = $_GET['id'] y sacar la id de algún sitio, para que así se edite bien la noticia.

Yo por ejemplo tengo este código:
Código PHP:
Ver original
  1. $sql = "UPDATE `noticias` SET titulo = '".$_POST['titulo']."', ";
  2.  
  3. $sql.= "fuente = '".$_POST['fuente']."', ";
  4.  
  5. $sql.= "categoria = '".$_POST['notCategoriaID']."', ";
  6.  
  7. $sql.= "resumen = '".$_POST['resumen']."', ";
  8.  
  9. $sql.= "noticia = '".$_POST['noticia']."' WHERE id = '".$_GET['editar']."'";

Obviamente debe ir acompañado de un formulario...
  #3 (permalink)  
Antiguo 21/08/2010, 03:53
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 6 meses
Puntos: 32
Respuesta: Update de mysql en PHP

Yo lo hubiera hecho de la siguiente forma, ahorrándome todas las comillas y concatenaciones con el punto

Código PHP:
$insertSQL "UPDATE noticia SET 
        titulo='$_POST[titulo]',
        contenido='$_POST[contenido]',
        autor='$_POST[autor]',
        fecha='$_POST[fecha]',
        hora='$_POST[hora]',
        tag='$_POST[tag]' where titulo = '$_POST[lsttitulo]'"

Realmente no se si es correcto hacerlo así, pero a mi me da siempre buenos resultados y no me lio tanto cuando quiero hacer una consulta algo grande.

Saludos.
  #4 (permalink)  
Antiguo 21/08/2010, 06:13
 
Fecha de Ingreso: septiembre-2009
Mensajes: 210
Antigüedad: 14 años, 7 meses
Puntos: 19
Respuesta: Update de mysql en PHP

Realmente es lo mismo, solo que yo prefiero usar la concatenación con puntos ya que así me lío menos, pero ambas opciones son correctas.

Lo que te falla a ti, gogupe, es que en los $_POST[] no pones las comillas, sería así:

$_POST['titulo']

Saludos
  #5 (permalink)  
Antiguo 21/08/2010, 07:06
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Update de mysql en PHP

Cita:
Iniciado por gogupe Ver Mensaje
Yo lo hubiera hecho de la siguiente forma, ahorrándome todas las comillas y concatenaciones con el punto

Código PHP:
$insertSQL "UPDATE noticia SET 
        titulo='$_POST[titulo]',
        contenido='$_POST[contenido]',
        autor='$_POST[autor]',
        fecha='$_POST[fecha]',
        hora='$_POST[hora]',
        tag='$_POST[tag]' where titulo = '$_POST[lsttitulo]'"

Realmente no se si es correcto hacerlo así, pero a mi me da siempre buenos resultados y no me lio tanto cuando quiero hacer una consulta algo grande.

Saludos.
Ok, no es correcto, pero funciona, como así? Hay dos problemitas, nada grave en realidad. El primer problema es la posibilidad de que exista una constante con el nombre por ejemplo de autor, en este caso PHP interpretará que es la constante y usará su valor. El segundo problema es el rendimiento, pues PHP tendrá que transformar por ejemplo hora por "hora", o sea tiene que convertirlo a una cadena. No más son esas dos desventajas, como te dije, nada grave, pero de que resulta bien, resulta bien.
  #6 (permalink)  
Antiguo 10/02/2011, 21:33
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 293
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: Update de mysql en PHP

ni siquiera te an respondido la pregunta ni siquiera te an entendido isieron su propio tema en el tuyo yo tengo el mismo problema y no me lo an solucionado podras verlo en mis temas abiertos se llama problema con update phpfan no procesa veras que es el mismo lio me propucieron un metodo pero no es bastante ya que tengo que hacer un update de 50 aprox o mas.

Etiquetas: mysql, update
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 03:00.