problema con UPDATE de mysql

Iniciado por johnwmartinez, 13 Julio 2007, 18:41 PM

0 Miembros y 1 Visitante están viendo este tema.

johnwmartinez

Que tal a todos...

Me gustaria saber que sucede con este programita que intento implementar...

$edituar = "UPDATE predicas SET titulo='$titulo', foto='$foto', preview='$preview', cita='$cita', mensaje='$mensaje', frasefinal='$frasefinal', autor='$autor', palabraclave='$palabraclave', categoria='$categoria'. WHERE id=$id";

mysql_query($edituar);


Ese es el codigo: no le veo nada de malo, la funcion INSERT INTO me funciona correctamente pero no entiendo porque ese codigo del update no.

Por favor, alguien me podria explicar si hay algun problema alli?

Sanjuu

Cita de: jwjunior en 13 Julio 2007, 18:41 PM

$edituar = "UPDATE predicas SET titulo='$titulo', foto='$foto', preview='$preview', cita='$cita', mensaje='$mensaje', frasefinal='$frasefinal', autor='$autor', palabraclave='$palabraclave', categoria='$categoria'. WHERE id=$id";

Quita esa coma o punto ;)

Código (php) [Seleccionar]

if (pregunta->buscador()==NULL)
     pregunta->formular_pregunta();

johnwmartinez

quite el punto despues de categoria y sigue saliendo el error...

por favor, me desespera porque lo comparo con otros codigos iguales y el mio no me saca errores ni nada, sale como si estuviera funcionando bien pero reviso la database y no se actualiza...

Azielito

en el query ponle que te de el ultimo error :D
Código (php) [Seleccionar]
<?php
$edituar 
"UPDATE predicas SET titulo=''$titulo'', foto=''$foto'', preview=''$preview'', cita=''$cita'', mensaje=''$mensaje'', frasefinal=''$frasefinal'', autor=''$autor'', palabraclave=''$palabraclave'', categoria=''$categoria'' WHERE id=$id";
@
mysql_query($edituar,$link) or die(mysql_error());
?>

johnwmartinez

Bueno al menos el sistema me da mas datos...

me sale este error: Unknown column ''edit'' in ''where clause''


esto me podrian decir es causado por que?

Azielito

el mismo error lo dice xD

''columna desconocida ''edit'' en el where :D o sea, en la condicion xD

Mira, pega el SQL que estas usando, asi tal vial, pega esas dos lineas que usas (las dos estas que puse)

johnwmartinez

#6
Código (php) [Seleccionar]

if ($editado == "1"){
echo "antes de editarse <strong>";
$edituar = "UPDATE predicas SET titulo=''$titulo'', foto=''$foto'', preview=''$preview'', cita=''$cita'', mensaje=''$mensaje'', frasefinal=''$frasefinal'', autor=''$autor'', palabraclave=''$palabraclave'', categoria=''$categoria'' WHERE id=$id";

mysql_query($edituar) or die(mysql_error());

echo "</strong><br><br>Ahora todo esta editado.";
}
else{
//editamos la predica
while ($row=mysql_fetch_array($query)){
$iddepredica = $row[id];

$foto = $row[foto];
$preview = $row[preview];
$cita = $row[cita];
$categoria = $row[categoria];
$mensaje = $row[mensaje];
$frasefinal = $row[frasefinal];
$palabraclave = $row[palabraclave];

echo"
<form action=''?id=$edit&&editar=1&&editado=1'' method=''post'' name=''agregar'' id=''agregar''>
<input name=".$iddepredica." type=''hidden'' value=".$iddepredica." />
<input name=''agregar'' type=''hidden'' id=''agregar'' value=''agregar''>
<br>
<table width=''100%'' border=''0'' cellspacing=''0'' cellpadding=''0''>
  <tr>
<td width=''50%''>Titulo: </td>
<td width=''50%''><input name=''titulo'' type=''text'' id=''titulo'' value=''$row[titulo]'' size=''30'' maxlength=''50''></td>
  </tr>
  <tr>
<td width=''50%''>URL de foto: </td>
<td width=''50%''><input name=''foto'' type=''text'' id=''foto'' value=''".$foto."'' size=''30'' maxlength=''50''></td>
  </tr>
  <tr>
<td width=''50%''>Informaci&oacute;n preliminal: </td>
<td width=''50%''><input name=''preview'' type=''text'' id=''preview'' value=''".$preview."'' size=''30'' maxlength=''160''></td>
  </tr>
  <tr>
<td width=''50%''>Cita B&iacute;blica: </td>
<td width=''50%''><input name=''cita'' type=''text'' id=''cita'' value=''".$cita."'' size=''30'' maxlength=''50''></td>
  </tr>
  <tr>
<td width=''50%''>Categor&iacute;a: </td>
<td width=''50%''><input name=''categoria'' type=''text'' id=''categoria'' value=''".$categoria."'' size=''30'' maxlength=''50''>
    <label></label></td>
  </tr>
  <tr>
<td width=''50%''>Mensaje: </td>
<td width=''50%''><textarea name=''mensaje'' cols=''50'' rows=''7'' id=''mensaje''>".$mensaje."</textarea></td>
  </tr>
  <tr>
<td width=''50%''>Frase final: </td>
<td width=''50%''><input name=''frasefinal'' type=''text'' id=''frasefinal'' value=''".$frasefinal."'' size=''30'' maxlength=''50''></td>
  </tr>
  <tr>
<td width=''50%''>Autor: </td>
<td width=''50%''><input name=''autor'' type=''text'' id=''autor'' value=''".$autor."'' size=''30'' maxlength=''50''></td>
  </tr>
  <tr>
<td width=''50%''>Palabras claves: </td>
<td width=''50%''><textarea name=''palabraclave'' cols=''50'' rows=''7'' id=''palabraclave''>".$palabraclave."</textarea></td>
  </tr>
</table>
<input name=''Submit'' type=''submit'' id=''Submit'' value=''   Enviar   ''>
<input name=''reset'' type=''reset'' id=''reset'' value=''   Borrar   ''>
  </form>

";
}
}

alone-in-the-chat

Modifica esta linea

Código (html4strict) [Seleccionar]

<form action=''''?id=$edit&&editar=1&&editado=1'''' method=''''post'''' name=''''agregar'''' id=''''agregar''''>


al llegar los parametros por POST del form que envias la variable $_POST[''id'']
(asi deberias de trabajarlas las variables por POST y GET ) contiene el valor edit *-)

Código (html4strict) [Seleccionar]

<input name="id" type=''''hidden'''' value=".$iddepredica." />


Yo creo que esa va de esta forma

Saludos
Because maybe
You're gonna be the one that saves me
And after all
You're my wonderwall
d[n_n]b

Azielito

Yo tengo la duda de las comillas dobles, triples y hasta cuatro =S=S=S=S=S



En caso del form te imprimiria no se que cosas, pero en el query debe ser

Código (php) [Seleccionar]
$edituar = "UPDATE predicas SET titulo='$titulo', foto='$foto', preview='$preview', cita='$cita', mensaje='$mensaje', frasefinal='$frasefinal', autor='$autor', palabraclave='$palabraclave', categoria='$categoria' WHERE id=$id";

con comilla simple, y claro, antes hacer lo que dice aloneInTheChat


Siempre recoge por $_GET y $_POST, $_COOKIE y demas ;)