Código de ejemplo tienes en:
http://www.php.net/manual/en/features.file-upload.php
Lee la teoría sobre el "Upload" .. PHP almacena temporalmente todo lo que subes vía HTTP (por tu formulairo con campo type="file") .. y de ahí lo mueves a su destino definitivo con la función que te comenté .. En el camino puedes leer el nombre del archivo que estás subiendo, tamaño y otras propiedades de lo que acabas de subir vía variables tipo $_FILE['archivo']['name'] .. etc .. Así que ese dato es el que debes guardar en tu BD como un campo de texto corriente. Ese dato será el que apunte a su destino definitivo (con ruta si lo deseas).
------
Sobre los problemas de tu script actual que usa BD y campos binarios .. Tendrías que describir mejor el problema y las pruebas que haces ademas de poner el código que usas y que tipo de archivo subes (tamaño .. colores de las imagenes) y una descripción de la BD que usas (a nivel de estructura).
Esto es como ir al doctor .. si no aportas datos sobre tus problemas .. poco o nada se te puede aconsejar a ciencia cierta.
Un saludo,