Jump to content


Photo

Imagem Num Db Em Sql


  • Faça o login para participar
4 replies to this topic

#1 jasar

jasar

    POGNATOR

  • Banidos
  • PipPipPipPip
  • 306 posts
  • Sexo:Masculino
  • Localidade:são paulo
  • Interesses:girorapido.com.br melhor site de classificados do mundo , e é free

Posted 17/02/2004, 13:19

eu quero colocar uma imagem num banco d dabos em sql
qual he q estrutura do db???
e cmo q eu faço o form pra inserir e qa query???
eu vo por o q eu fiz e nao deu certo.



index.htm

<form method="POST" action="up.php">

<p><input type="file" name="img" size="40"></p>
<p><input type="submit" value="Submeter" name="B1"><input type="reset" value="Redefinir" name="B2"></p>
</form>


up.php
<?
$host = "localhost";
$user = "jasar";
$password = "beta";
$db = "hp";
$connect = mysql_connect($host,$user,$password);
$database = mysql_select_db($db,$connect);


$sql = "INSERT INTO hp (id, img) VALUES (NULL, '$img')" ;
mysql_query($sql);

?>


show.php

<?
$host = "localhost";
$user = "jasar";
$password = "beta";
$db = "hp";

$database = mysql_select_db($db,$connect);
$connect = mysql_connect($host,$user,$password);
$sql="select * from hp";
$query = mysql_query($sql);

while($result=mysql_fetch_array($query)){ print ("$result[img]<br>");};
?>
:( tiraram minha assinatura mas 6 podem v ela ai
http://contagiro.flo...m.br/jasar.jpeg

#2 Rodrigofb

Rodrigofb

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Não informado
  • Localidade:Anápolis

Posted 17/02/2004, 13:46

Congratulações...
olha,se nao me engano,para imagens no banco de dados,vc tem que usar o tipo BLOB...no site http://www.imasters....odcoluna=311,na seção de PHP tem uns tutoriais de como se faz isso...mas,qual a mensagem de erro que aparece quando vc tenta visualizar as imagens?qualquer coisa,estamos ae...

#3 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 17/02/2004, 13:47

isso e facil. porem num e recomendado.. pois muitos servidores bloqueam !!!

bom + qualquer coisa da uma olhada no URL abaixo

http://www.imasters....p?codcoluna=312

ha antes abrir um topico, de uma procurada.. pois já tem dois topicos com a mesma pergunta praticamente :P


Editando:
Rodrigo num e Blob e sim LongText !!!

bom flw (y) !!!

Edição feita por: Goku Jr, 17/02/2004, 13:50.

-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951

#4 Rodrigofb

Rodrigofb

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Não informado
  • Localidade:Anápolis

Posted 17/02/2004, 13:54

Congratulações..
ei Goku Jr obrigado pela correção,eu nao digitei Blog e sim BLOB...mas eu acho que nao eh LongText...realmente,nao eh recomendável gravar imagens em banco de dados...poderia ser gravado no servidor e,no banco de dados,apenas referenciar o nome da imagem,ja fiz isso e deu certo...mas,obrigado pela correção...até mais!

#5 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 17/02/2004, 14:08

Congratulações..
ei Goku Jr obrigado pela correção,eu nao digitei Blog e sim BLOB...mas eu acho que nao eh LongText...realmente,nao eh recomendável gravar imagens em banco de dados...poderia ser gravado no servidor e,no banco de dados,apenas referenciar o nome da imagem,ja fiz isso e deu certo...mas,obrigado pela correção...até mais!

eu sei que você num digitou blog .. e que eu sem querer errei :P + ai ja tinha editado !!! pode se usar Long text.. + ai no artigo do Imasters o Julio usou o mediumint e o mediumblod !!! :P

bom qualquer coisa ta aê !!!

Fala galera!

Neste artigo estarei dando continuação ao assunto Upload de imagens. No primeiro artigo gravamos apenas o nome no banco de dados e jogamos a imagem em um determinado diretório. Agora vamos gravar a imagem diretamente no banco junto com algumas informações como: o tipo e o tamanho em bytes.

Vamos lá:

1. Criar o database no MySQL

CREATE DATABASE imasters;

2. Criar a tabela que vai receber as imagens

CREATE TABLE tb_segunda (
id_imagem int(5) NOT NULL auto_increment,
imagem varchar(80) NOT NULL DEFAULT '' ,
tipo_imagem varchar(30) NOT NULL DEFAULT '' ,
bytes_imagem mediumint(9) ,
dados_imagem mediumblob ,
PRIMARY KEY (id_imagem)
);

3. Conectar com o banco de dados MySQL (conecta.php)

<?
$dbname="imasters";
$usuario="";
$password="";

//1º passo - Conecta ao servidor MySQL
if(!($con = mysql_connect("localhost",$usuario,$password))) {
echo "<p align="center"><big><strong>Não foi possível estabelecer
uma conexão com o gerenciador MySQL. Favor Contactar o Administrador.
</strong></big></p>";
exit;
}

//2º passo - Seleciona o Banco de Dados
if(!($db=mysql_select_db($dbname,$con))) {
echo " <p align="center"><big><strong>Não foi possível estabelecer
uma conexão com o gerenciador MySQL. Favor Contactar o Administrador.
</strong></big></p>";
exit;
}
?>

4. Arquivo que vai fazer o upload da imagem para o banco de dados (index.php)

<?
include "conecta.php"; //Conecta com a nossa base de dados
?>
<html>
<head>
<title>iMasters</title>
</head>

<body bgcolor="#FFFFFF" text="#000000">

<?
if($acao == 'cadastrar') { // Cadastra a imagem no banco de dados
$fp = fopen($imagem,"rb");
$imagem_temp = fread($fp,filesize($imagem));
fclose($fp);
$imagem_temp = addslashes($imagem_temp);
$sql = mysql_query("INSERT INTO tb_segunda(imagem,tipo_imagem,bytes_imagem,dados_imagem)
VALUES('$imagem_name','$imagem_type','$imagem_size','$imagem_temp')",$con)
or die("Erro no SQL: ".mysql_error());
echo "<br><br><div align=center><font face=Arial size=2>Imagem cadastrada com SUCESSO!!<br><br>
<a href='javascript:history.go(-1)'><< Voltar</a></font></div>";

}/*fecha acao=entrar */?>


<?if($acao == 'entrar') { /*Mostra o formulário para a inclusão da imagem no BD */?>
<form name="frm_imagem" method="post" action="<?echo $PHP_SELF;?>?acao=cadastrar" enctype="multipart/form-data">
<table width="50%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2" height="30">
<div align="center"><font face="Arial" size="2"><b><font size="4">Upload de imagens II</font></b></font></div></td>
</tr>

<tr>
<td width="25%" height="30"><font face="Arial" size="2">Imagem:</font></td>
<td width="75%" height="30"> <font face="Arial" size="2"><input type="file" name="imagem"></font></td>
</tr>

<tr>
<td colspan="2" height="30"><div align="center"><font face="Arial" size="2">
<input type="submit" name="enviar" value="Cadastrar imagem no BD &gt;&gt;"></font></div></td>
</tr>
</table>
</form>
<?}/* fecha acao=entrar */?>
</body>
</html>

Como vocês podem ver esse script é bem parecido com o que fizemos na semana passada, mas com uma diferença: esse salva a imagem no banco de dados enquanto o outro não.

Observação: Como estamos passando um arquivo (imagem) pelo formulário é obrigatório a inclusão no form da instrução enctype="multipart/form-data".

Para rodar esse script digite o seguinte no seu browser: http://localhost/index.php?acao=entrar

Quando você digitar essa linha no seu browser ele vai cair na parte do código que contém a instrução if($acao=='entrar'). Essa linha tem por finalidade mostrar o formulário que vai ser o responsável pelo envio da imagem.

Quando o formulário for submetido para a mesma página teremos como instrução if($acao == 'cadastrar'). Esse bloco de instrução tem por finalidade fazer a inserção da imagem em nosso banco de dados.

Semana que vem, estarei disponibilizando o script para visualizar as imagens que foram cadastradas na parte I e na parte II desses artigos.

Não deixe de nos enviar críticas ou sugestões para o próximo assunto, afinal a coluna é de vocês.

bom flw (y) !!!
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq