Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/02/2003, 11:36
Avatar de Chuty
Chuty
 
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
Problema al guardar informacion

El siguiente codigo me da error al tratar de guardar una imagen en mi base de datos.
La intencion es tomar una imagen de disco y guardarla en la base de datos en formato binario y si no me equivoco el foepn debe de ser ................$fp = fopen($fichero , "rb", 1); .....

<?php
$fichero = "firma-01.png";

if (!isset($fichero))
{
// Mostrar el formulario de petición del fichero
}
else
// Proceso del elemento $fichero
{
// Comprobación de que $fichero existe en el directorio y se trata de un fichero
if (!file_exists($fichero) || !is_file($fichero))
{
// $fichero no es un nombre de un fichero perteneciente al directorio actual
echo "<H1 ALIGN='Center'>ERROR: no existe un fichero ",
"con ese nombre</H1>\n";
}
else
{
// Obtengo las propiedades del fichero cuyo nombre es $fichero
$tamanio = filesize($fichero);
}
}

$fp = fopen($fichero , "rb", 1); // o "rb" si usas Windows
$contenido= fread($fp, filesize($fichero));

fclose($fp);

$DATA_UNA = '000';
$DATA_DOS = '21234567890123';
$DATA_TRES = ' 15';
$DATA_TAM = $tamanio;
$DAT_REC = $contenido;

// Se establece la conexión con la fuente de datos
$conex = odbc_connect("MISERVER", "sa", "sa");
$consulta = "INSERT mibase.tmp_clientes(DATA_UNA, DATA_DOS, DATA_TRES, DATA_TAM, DAT_REC)
values ('$DATA_UNA' ,'$DATA_DOS', '$DATA_TRES', '$DATA_TAM', '$DAT_REC')";

$resultado = odbc_exec($conex, $consulta);
$Num_Campos = odbc_num_fields($resultado);
$Num_Filas = odbc_num_rows($resultado);
$Num_Filas = 0;

//Se liberan recursos y se cierra la conexión
odbc_free_result($resultado);
odbc_close($conex);
?>

el mensaje de error es el siguiente


Warning: SQL error: [Microsoft][ODBC SQL Server Driver]Syntax error or access violation, SQL state 37000 in SQLExecDirect in c:\inetpub\wwwroot\phptest\funcionarios_02\data.ph p on line 65

Warning: odbc_num_fields(): supplied argument is not a valid ODBC result resource in c:\inetpub\wwwroot\phptest\funcionarios_02\data.ph p on line 66

Warning: odbc_num_rows(): supplied argument is not a valid ODBC result resource in c:\inetpub\wwwroot\phptest\funcionarios_02\data.ph p on line 67

Warning: odbc_free_result(): supplied argument is not a valid ODBC result resource in c:\inetpub\wwwroot\phptest\funcionarios_02\data.ph p on line 71

si uitilizo el fopen ................$fp = fopen($fichero , "r", 1); .....
el codigo se ejecuta bien pero no me guarda toda la informacion de la imagen en mi base de datos.
Saludos y gracias a todos