problema update en php

Iniciado por viher, 5 Noviembre 2010, 16:23 PM

0 Miembros y 2 Visitantes están viendo este tema.

bizco

muestra por pantalla el mysql_error pq estas haciendo las cosas a ciegas. ¿no hay una s ahi perdida o me lo parece?

viher

Código (php) [Seleccionar]
<?
 $host="localhost";
$user="userl";
$passwd="pass";
$db="bd";
       //Aqui recibimos las variables a actualizar
  $id=$_GET['id'];
  $porn1=$_POST['porn1'];
  $porn2=$_POST['porn2'];
  $nombre=$_POST['nombre'];
  $embed=$_POST['embed'];  
  $cat=$_POST['cat'];
  $cat2=$_POST['cat2'];
  $img=$_POST['img'];
  $dur=$_POST['dur']." minutos";
       //Creamos la conexión
       $link = mysql_connect($host, $user, $passwd);
mysql_select_db($db, $link);
             $sSQL = "UPDATE videos SET nombre='$nombre', embed='$embed', img='$img', cat='$cat', cat2='$cat2', porn1='$porn1', porn2='$porn2', dur='$dur' WHERE id='$id'";
PRINT $sSQL;
             echo "Actualizado correctamente<br>";
 echo "<h2 align=center><a href=index.php?id=edit>Editar otro video</a></h2>";
?>


esto es lo que me devuelve

Código (php) [Seleccionar]
UPDATE videos SET nombre='a', embed='', img='c', cat='', cat2='h', porn1='e', porn2='f', dur='d minutos minutos's WHERE id='1603'Actualizado correctamente

y embed me sale vacío cuando es el campo que he editado

Shell Root

Exacto, este es el punto que quiero tocar... Mirad la sentencia SQL, y como bien te lo dijo @bizco, hay una s que interfiere con la query.
Código (sql) [Seleccionar]
UPDATE videos SET nombre='a', embed='', img='c', cat='', cat2='h', porn1='e', porn2='f', dur='d minutos minutos's WHERE id='1603'

debería ser así, y el ID supongo que es númerico o es un varchar?
Código (sql) [Seleccionar]
UPDATE videos SET nombre='a', embed='', img='c', cat='', cat2='h', porn1='e', porn2='f', dur='d minutos minutos' WHERE id=1603
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

bizco

viher ahi en eso que pones no veo donde haces la consulta, esta la cadena pero no ejecutas la consulta. de todos modos mira lo que dice Shell Root y acostumbra a manejar los posibles errores y no tenrdras estos problemas.

viher

Código (php) [Seleccionar]
<?
  $host="localhost";
$user="rapmadri_general";
$passwd="181302";
$db="rapmadri_graffitiongirls";
        //Aqui recibimos las variables a actualizar
   $id=$_GET['id'];
   $porn1=$_POST['porn1'];
   $porn2=$_POST['porn2'];
   $nombre=$_POST['nombre'];
   $embed=$_POST['embed'];   
   $cat=$_POST['cat'];
   $cat2=$_POST['cat2'];
   $img=$_POST['img'];
   $dur=$_POST['dur']." minutos";
        //Creamos la conexión
        $link = mysql_connect($host, $user, $passwd);
mysql_select_db($db, $link);
               mysql_query("UPDATE videos SET nombre='$nombre', embed='$embed', img='$img', cat='$cat', cat2='$cat2', porn1='$porn1', porn2='$porn2', dur='$dur' WHERE id='$id')",$link);
PRINT $sSQL;
              echo "Actualizado correctamente<br>";
  echo "<h2 align=center><a href=index.php?id=edit>Editar otro video</a></h2>";
?>


ejecute la consulta pero aun asi sige igual,y como hago para poner los posibles errores? gracias


Shell Root

Por ejemplo,
Código (php) [Seleccionar]
$sLink = mysql_connect('localhost', 'mysql_user', 'mysql_password') or die("Error: ".mysql_error());
#---
mysql_query($sSQL, $sLink) or die("Error: ".mysql_error());
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

viher

Código (php) [Seleccionar]
<?
$db="bd";
        //Aqui recibimos las variables a actualizar
   $id=$_GET['id'];
   $porn1=$_POST['porn1'];
   $porn2=$_POST['porn2'];
   $nombre=$_POST['nombre'];
   $embed=$_POST['embed'];   
   $cat=$_POST['cat'];
   $cat2=$_POST['cat2'];
   $img=$_POST['img'];
   $dur=$_POST['dur']." minutos";
        //Creamos la conexión
        $sLink = mysql_connect('localhost', 'user', 'pass') or die("Error: ".mysql_error());
mysql_select_db($db, $sLink);
              $sSQL = "UPDATE videos SET nombre='$nombre', embed='$embed', img='$img', cat='$cat', cat2='$cat2', porn1='$porn1', porn2='$porn2', dur='$dur' WHERE id='$id'" or die("Error: ".mysql_error());
PRINT $sSQL;
              echo "Actualizado correctamente<br>";
  echo "<h2 align=center><a href=index.php?id=edit>Editar otro video</a></h2>";
?>


sige sin actualizarse pero no me devuelve ningún error


bizco

si no haces el query logico que no haga nada.

viher

Código (php) [Seleccionar]
<?
$db="db";
        //Aqui recibimos las variables a actualizar
   $id=$_GET['id'];
   $porn1=$_POST['porn1'];
   $porn2=$_POST['porn2'];
   $nombre=$_POST['nombre'];
   $embed=$_POST['embed'];   
   $cat=$_POST['cat'];
   $cat2=$_POST['cat2'];
   $img=$_POST['img'];
   $dur=$_POST['dur']." minutos";
        //Creamos la conexión
        $sLink = mysql_connect('localhost', 'user', 'pass') or die("Error: ".mysql_error());
mysql_select_db($db, $sLink);
              $sSQL = "UPDATE videos SET nombre='$nombre', embed='$embed', img='$img', cat='$cat', cat2='$cat2', porn1='$porn1', porn2='$porn2', dur='$dur' WHERE id='$id'" or die("Error: ".mysql_error());
  mysql_query($sSQL, $sLink) or die("Error: ".mysql_error());
PRINT $sSQL;
              echo "Actualizado correctamente<br>";
  echo "<h2 align=center><a href=index.php?id=edit>Editar otro video</a></h2>";
?>


el problema que he visto es que he modificado el campo "embed" y me lo modifica pero en blanco,no recive bien el texto a modificar y se queda en blanco

esto es lo que me devuelve el PRINT $sSQL

Código (php) [Seleccionar]
UPDATE videos SET nombre='a', embed='', img='c', cat='', cat2='f', porn1='e', porn2='g', dur='d minutos minutos' WHERE id='1626'Actualizado correctamente