Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] update de mysql[ A Y U D A]

Estas en el tema de update de mysql[ A Y U D A] en el foro de PHP en Foros del Web. hola, mi codigo php va algo asi y no me tira ningun error pero tampoco me muestra la etiqueta a href del final ni funciona ...
  #1 (permalink)  
Antiguo 09/03/2014, 20:30
Avatar de manunores  
Fecha de Ingreso: enero-2014
Mensajes: 39
Antigüedad: 10 años, 3 meses
Puntos: 0
update de mysql[ A Y U D A]

hola, mi codigo php va algo asi y no me tira ningun error pero tampoco me muestra la etiqueta a href del final ni funciona el update.

Código PHP:
<?php
    
include ('config.inc');


    if(
    isset(
$_POST["titulo"]) && !empty($_POST["titulo"]) &&
    isset(
$_POST["autor"]) && !empty($_POST["autor"]) &&
    isset(
$_POST["copete"]) && !empty($_POST["copete"]) &&
    isset(
$_POST["nota"]) && !empty($_POST["nota"]) &&
    isset(
$_POST["fuente"]) && !empty($_POST["fuente"]) &&
    isset(
$_POST["categoria"]) && !empty($_POST["categoria"]) &&
    isset(
$_POST["fecha"]) && !empty($_POST["fecha"])
    ){
        
        
$con mysqli_connect($host$user$pw$db) or die (mysql_error());
        
mysqli_set_charset($con"utf8") or die (mysql_error());
        
        
$peticion "UPDATE  `fodeni`.`noticias` SET 
        `titulo` =  '$_POST[titulo]'
        `autor` =  '$_POST[autor]'
        `copete` =  '$_POST[copete]'
        `nota` =  '$_POST[nota]'
        `fuente` =  '$_POST[fuente]'
        `categoria` ='$_POST[categoria]'
        `fecha` =     '$_POST[fecha]'
        WHERE `noticias`.`id` ="
.$_GET['id']." LIMIT 1";
        
mysqli_query($con$peticion) or die (mysql_error());    
        
    } else {
        echo 
"problemas al cargar datos";
    }
    
    
?>
    
    
    <a href="adminnoticias.php">Volver</a>

y este es el formulario, no se si esta bien la forma por la que pase el id

Código PHP:
<?php

include ('config.inc');
    
$con mysqli_connect($host$user$pw$db);
    
mysqli_set_charset($con"utf8");
    
    
$peticion "SELECT * FROM noticias WHERE id=".$_GET['id']." LIMIT 1";
    
$query mysqli_query($con$peticion);
    
    
    if(
$datos mysqli_fetch_array($query)){?>
    
    <form action="procesar_modificarnoticia.php?id=<?php echo $datos['id']; ?>" method="post" name="form" enctype="multipart/form-data"  >

    Título : <input type="text" name="titulo" value="<?php echo $datos['titulo']; ?>" required/><br>
    Autor: <input type="text" name="autor" value="<?php echo $datos['autor']; ?>" required/><br>
    Copete:  <textarea name="copete"  required ><?php echo $datos['copete']; ?></textarea><br>
    Nota : <textarea name="nota"  required><?php echo $datos['nota']; ?></textarea><br>
    Fecha : <input type="date" value="<?php echo $datos['fecha']; ?>" name="fecha" required /><br>
    Fuente : <input type="text" value="<?php echo $datos['fuente']; ?>" name="fuente" required /><br>
       Categoría : <select name="categoria"  required>
                                           
                                          <option selected value="<?php echo $datos['categoria']; ?>"> <?php echo $datos['categoria']; ?> </option>
                                       <option value="Economía">Economía</option> 
                                       <option value="Políticas Públicas">Políticas Públicas</option> 
                                       <option value="Derechos Humanos">Derechos Humanos</option> 
                                       <option value="Futuro">Futuro</option> 
                               
                                </select>
    <input type= "Submit" value="Cargar Datos" /><br>
  
     
  </form>
        
        
    <?php ?>


si me ayudan se los agradeceria.
  #2 (permalink)  
Antiguo 09/03/2014, 23:18
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: update de mysql[ A Y U D A]

Te faltó colocar comas entre cada campo que actualizas.

Código PHP:
Ver original
  1. $peticion = "UPDATE  `fodeni`.`noticias` SET  
  2.        `titulo` =  '$_POST[titulo]',
  3.        `autor` =  '$_POST[autor]',
  4.        `copete` =  '$_POST[copete]',
  5.        `nota` =  '$_POST[nota]',
  6.        `fuente` =  '$_POST[fuente]',
  7.        `categoria` ='$_POST[categoria]',
  8.        `fecha` =     '$_POST[fecha]'
  9.        WHERE `noticias`.`id` =".$_GET['id'];

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 10/03/2014, 05:45
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: update de mysql[ A Y U D A]

Para futuros problemas de este tipo, sabrás mucho antes donde esta el problema si usas mysqli_error() | $mysqli->error

Un saludo
  #4 (permalink)  
Antiguo 10/03/2014, 07:24
Avatar de manunores  
Fecha de Ingreso: enero-2014
Mensajes: 39
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: update de mysql[ A Y U D A]

y donde se colocan los mysql_error() ?, porqye si te fijas puese algunos pero no me aparecio nada, donde deberian ir?
  #5 (permalink)  
Antiguo 10/03/2014, 07:54
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: update de mysql[ A Y U D A]

Como lo pones está bien, pero para que te devuelva error hay que ponerlo en cada query que realices, en el último código que pones no tienes mysqli_error, y tienes un error de sintaxis ya que no pones comas en el valor del where.

Y después otra cosa es que estas usando querys mysqli y poniendo mysql_error en vez de mysqli_error.

Otro tema es que tampoco le pasas como parametro a la funcion mysqli_error la variable de conexión a la base de datos, revisa la documentación de la función para que la uses correctamente.

Un saludo

Etiquetas: fecha, 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 14:40.