Foros del Web » Programando para Internet » PHP »

Actualizar campo BLOB

Estas en el tema de Actualizar campo BLOB en el foro de PHP en Foros del Web. Hola, mi pregunta es simple, como hago un UPDATE en un campo blob que contiene imagenes? por que estoy usando este escript y no me ...
  #1 (permalink)  
Antiguo 27/10/2005, 16:26
 
Fecha de Ingreso: abril-2005
Mensajes: 372
Antigüedad: 12 años, 7 meses
Puntos: 0
Pregunta Actualizar campo BLOB

Hola, mi pregunta es simple, como hago un UPDATE en un campo blob que contiene imagenes? por que estoy usando este escript y no me funciona

Código PHP:
<?php
$idd 
$_GET['idd'];
if (
$idd) {
if (
$submit) {
    
MYSQL_CONNECT("localhost","yo","mipass");
    
mysql_select_db("database");

    
$data addslashes(fread(fopen($form_data"r"), filesize($form_data)));
    
$strSQL="UPDATE fotos SET 
    (descripcion='$form_description', foto='$data', nombre='$form_data_name', tamano='$form_data_size', tipo='$form_data_type') 
    WHERE id=$idd LIMIT 1"
;
    
$resultmysql_query($strSQL);

 

    
MYSQL_CLOSE();

} else {

?>

    <form method="post" action="<?php echo $PHP_SELF?>" enctype="multipart/form-data">
    Descripcion:<br>
    <input type="text" name="form_description"  size="40">
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
    <br>Archivo nuevo:<br>
    <input type="file" name="form_data"  size="40">
    <p><input type="submit" name="submit" value="Enviar">
    </form>

<?php

}
}
?>
Gracias
  #2 (permalink)  
Antiguo 27/10/2005, 16:52
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 12 años, 5 meses
Puntos: 7
prueba asi:
Código PHP:
<?php
$idd 
$_GET['idd'];
if (
$idd) {
if (
$submit) {
    
MYSQL_CONNECT("localhost","yo","mipass");
    
mysql_select_db("database");
    
$form_data=$_FILES['form_data']['tmp_name'];
    
// NOTA: en la siguiente sentencia va "rb" para Windows .. Linux 
    //con "r" llega.
    
$data addslashes(fread(fopen($form_data"r"), filesize($form_data)));
    
$strSQL="UPDATE fotos SET
    (descripcion='$form_description', foto='$data', nombre='$form_data_name', tamano='$form_data_size', tipo='$form_data_type')
    WHERE id=$idd LIMIT 1"
;
    
$resultmysql_query($strSQL);



    
MYSQL_CLOSE();

} else {

?>

    <form method="post" action="<?php echo $PHP_SELF?>" enctype="multipart/form-data">
    Descripcion:<br>
    <input type="text" name="form_description"  size="40">
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
    <br>Archivo nuevo:<br>
    <input type="file" name="form_data"  size="40">
    <p><input type="submit" name="submit" value="Enviar">
    </form>

<?php

}
}
?>
Con esto deberia funcionarte.

Saludos.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #3 (permalink)  
Antiguo 27/10/2005, 16:58
 
Fecha de Ingreso: abril-2005
Mensajes: 372
Antigüedad: 12 años, 7 meses
Puntos: 0
Pruebo y te cuento!!
Grazzzia!!!
  #4 (permalink)  
Antiguo 27/10/2005, 17:09
 
Fecha de Ingreso: abril-2005
Mensajes: 372
Antigüedad: 12 años, 7 meses
Puntos: 0
...no funcionaaaaa......no se que es lo que pasa, no tira error ni nada
  #5 (permalink)  
Antiguo 27/10/2005, 17:27
 
Fecha de Ingreso: abril-2005
Mensajes: 372
Antigüedad: 12 años, 7 meses
Puntos: 0
No le encuentro la vuelta.....si alguien me puedde hechar una mano?.....
  #6 (permalink)  
Antiguo 27/10/2005, 18:17
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 12 años, 5 meses
Puntos: 7
¿recibes bien el $idd? a lo mejor esta ahi el problema pon un echo $idd; a ver si lo recibes y me cuentas.
y si lo recibe bien cambia laprimera parte por
Código PHP:
<?php
$idd 
$_GET['idd'];
if (
$idd) {
if (
$submit) {
    
$con=mysql_connect("localhost","yo","mipass");
    
mysql_select_db("database");
    
$form_data=$_FILES['form_data']['tmp_name'];
    
// NOTA: en la siguiente sentencia va "rb" para Windows .. Linux
    //con "r" llega.
    
$data addslashes(fread(fopen($form_data"r"), filesize($form_data)));
    
$strSQL="UPDATE fotos SET
    (descripcion='$form_description', foto='$data', nombre='$form_data_name', tamano='$form_data_size', tipo='$form_data_type')
    WHERE id=$idd LIMIT 1"
;
    
mysql_query($strSQL$con);



    
MYSQL_CLOSE();

} else {

?>
y a ver si asi se soluciona.
Suerte
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches

Última edición por Bytevamp; 27/10/2005 a las 18:28
  #7 (permalink)  
Antiguo 27/10/2005, 19:09
 
Fecha de Ingreso: abril-2005
Mensajes: 372
Antigüedad: 12 años, 7 meses
Puntos: 0
nop...no funciona, el $idd lo ve bien, ya habia hecho el echo y lo volvi a hacer y lee bien el idd...la verdad que no se...algo tiene que estar errado
  #8 (permalink)  
Antiguo 27/10/2005, 19:48
 
Fecha de Ingreso: abril-2005
Mensajes: 372
Antigüedad: 12 años, 7 meses
Puntos: 0
...alguienn sabe...no doy pie con bola...
  #9 (permalink)  
Antiguo 27/10/2005, 20:03
 
Fecha de Ingreso: abril-2005
Mensajes: 372
Antigüedad: 12 años, 7 meses
Puntos: 0
En la condicion WHERE id=$idd puse 1 en lugar de la variable $idd y me resulto....pero por que no me toma la variable?? Si cuando hago un "echo $idd; me arroja el dato??
  #10 (permalink)  
Antiguo 27/10/2005, 20:37
 
Fecha de Ingreso: abril-2005
Mensajes: 372
Antigüedad: 12 años, 7 meses
Puntos: 0
...rariiiisimo

Al final lo solucione despues de probar poniendo el id a mano, poniendo otro text field
Código PHP:
<input readonly type="text" name="clave" size="4" value="<?=$idd;?>
Primero probe con un text field que me deje ingresar el dato a mano y en la condicion
Código PHP:
WHERE id=
//puse 
WHERE id=$clave 
...y funciono y como me parecio demasiado rudimentario hice que en el text field (ahora readonly) se imprimiera la variable $idd y desde ahi me levantó el dato......ahora por que lo levanto de ahi y no desde el principio del script donde esta declarada la variable NO_LO_SE!...
Si alguien lo sabe le agradeceria me lo aclare
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 04:03.