Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/08/2004, 07:45
marcosj
 
Fecha de Ingreso: abril-2002
Mensajes: 6
Antigüedad: 22 años
Puntos: 0
Subir archivos a tablas SQL Server 2000 con php

Hola a todo/as.

Estoy intentando subir archivos de tipo .exe, .jpg o .pdf a un servidor de Sql Server 2000, pero algo se me escapa y no consigo hacerlo .

Tengo una tabla con un campo de tipo binario donde intento almacenar archivos, ya he probado de varios tipos pero siempre obtengo el mismo resultado:

Una secuencia de errores del tipo Warning: mssql_query() [function.mssql-query]: message: Line 3: Incorrect syntax near '6'. (severity 15) ...
El error es justo en el momento de hacer el insert.

Este es el código de la página del formulario:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form action="guarda.php" method="post" enctype="multipart/form-data" name="frmUploadFile">
<p>
<input name="archivo" type="file" id="archivo">
</p>
<p>
<input name="descripcion" type="text" id="descripcion">
</p>
<p>
<input type="submit" name="Submit" value="Guardar">
</p>
</form>
</body>
</html>

Y este es el código del script php para insertar el registro. Está sin depurar, de momento me conformoaría con que insertara el dichoso registro

<?
/*creamos la conexion*/
require "logindb.php"; // Login a las bases de datos (funciona).


if (!$_FILES["archivo"]["tmp_name"]) //si no subio nada, vuelve a la pagina de subida
{
header("location: subida.htm");
}
else //si subio algo, se procede con el almacenamiento
{
$nombre=$_FILES["archivo"]["name"];
$tamanio = $_FILES["archivo"]["size"];
$temp=$_FILES["archivo"]["tmp_name"];
$tipo=$_FILES["archivo"]["type"];
$descripcion=$_POST["descripcion"];

$puntero=fopen($temp, "rb");
$contenido=fread($puntero, $tamanio);
$contenido=addslashes($contenido);
fclose($puntero);
// $contenido2 = convert(binary. $contenido);--> he probado esto, pero tampoco.

// echo $sentencia;

mssql_query("insert into CalidadDocumentos(Titulo, Descripcion, Contenido, Tipo) values ('$nombre', '$descripcion', '$contenido', '$tipo')", $ID_conexion);

}
?>

Si alguien puede ayudarme lo agradeceré infinito.

Marcos