Você pode armazenar imagens em seu banco de dados se quiser (embora não haja nada de errado em apenas armazená-las como arquivos, escolha o que for apropriado para sua situação), mas armazene os dados binários brutos em um BLOB (ou seja, não codifique com base64). Você pode incorporar os dados binários obtidos de
file_get_contents
diretamente na sua consulta, desde que você use a função de escape adequada (mysql_real_escape_string
no seu caso) primeiro. Quanto à saída da imagem, você pode fazê-lo do jeito que está fazendo agora, mas você terá que produzir codificado em base64 e com um
data
Esquema de URI como este:echo '<img alt="embedded image" src="data:image/png;base64,' . chunk_split(base64_encode($get_pics2['img_location'])) . '">';
Observe que existem algumas vantagens e desvantagens dos dados de imagem incorporados. Algumas desvantagens importantes a serem observadas são a sobrecarga severa da codificação base64 (cerca de 33% maior que a original) e possíveis problemas de cache.