Puede almacenar imágenes en su base de datos si lo desea (aunque tampoco tiene nada de malo almacenarlas como archivos, elija lo que sea apropiado en su situación), pero almacene los datos binarios sin procesar en un BLOB (es decir, no los codifique con base64). Puede incrustar los datos binarios que obtiene de file_get_contents
en su consulta directamente, siempre que use la función de escape adecuada (mysql_real_escape_string
en su caso) primero.
En cuanto a la salida de la imagen, puede hacerlo de la forma en que lo está haciendo ahora, pero tendrá que generarla codificada en base64 y con un data
Esquema de URI como este:
echo '<img alt="embedded image" src="data:image/png;base64,' . chunk_split(base64_encode($get_pics2['img_location'])) . '">';
Tenga en cuenta que existen algunas ventajas y desventajas de los datos de imagen incrustados. Algunas desventajas importantes a tener en cuenta son la gran sobrecarga de la codificación base64 (alrededor de un 33 % más grande que la original) y los posibles problemas de almacenamiento en caché.