Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

falcao544

Problema com valor retornado na query!

Recommended Posts

Pessoal, essa minha query:

 

$sql3=mysql_query("SELECT foto FROM tabela WHERE login='$nome'");

Está me retornando esse valor:

 

Resource id #4

 

Sendo que ao o usuario fazer o cadastro automaticamente o campo foto receb default_picture.jpg:

 

Entao deveria retornar:

 

default_picture.jpg

 

Só que nao retorna!

 

Eu coloquei o campo como varchar! Tá certo? valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá falcao544.

 

Uma vez me deparei com este termo Resource id #4, só não me lembro exatamente qual era o motivo...acho que é pq você está referenciado algo errado.

 

Posta o resto do codigo para que eu possa te ajudar melhor ok...

No aguardo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php

if($_SERVER["REQUEST_METHOD"]=="POST"){

$nome = isset($_POST["nome"]) ? strip_tags($_POST["nome"]):"";

$num = isset($_POST["num"]) ? strip_tags($_POST["num"]):"";

$email = isset($_POST["mail"]) ? strip_tags($_POST["mail"]):"";

$pais = isset($_POST["pais"]) ? strip_tags($_POST["pais"]):"";

$login = isset($_POST["login"]) ? strip_tags($_POST["login"]):"";

$senha = isset($_POST["senha"]) ? strip_tags($_POST["senha"]):"";

 

if(empty($email) || empty($login) || empty($senha)){

 

echo"<script>alert('Os campos E-mail, Login e Senha Devem estar preenchidos!')</script>";

echo"<script>history.go(-1)</script>";

 

} else {

 

mysql_connect("HOST", "USUARIO", "SENHA") or die(mysql_error());

mysql_select_db("DB") or die(mysql_error());

 

$sql = mysql_query("SELECT * FROM tabela WHERE login='$login'");

if(mysql_num_rows($sql)>0){

 

echo"<script>alert('O login digitado ja consta no banco de dados!')</script>";

echo"<script>history.go(-1)</script>";

exit();

 

}

 

$sql = mysql_query("SELECT * FROM tabela WHERE email='$email'");

if(mysql_num_rows($sql)>0){

 

echo"<script>alert('O email digitado ja consta no banco de dados!')</script>";

echo"<script>history.go(-1)</script>";

exit();

 

}

$foto="deafult_picture.jpg";

$Insert = mysql_query("INSERT INTO tabela(login, email, senha, foto) VALUES('$login', '$email', '$senha', '$foto')");

 

if($Insert !==false ){

echo"<script>alert('Cadastro efetuado com sucesso!!')</script>";

echo"<script>window.location.href='index.html'</script>";

}else{

echo"Houve um erro no cadastro!";

}

 

}

}else {

echo"Metodo nao autorizado!";

echo"<script>window.location.href='www.google.com.br'</script>";

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

você não deve tentar imprimir o retorno da função mysql_query, antes disso, você precisa passar por algum fetch..

 

mysql_fetch_array(), mysql_fetch_object(), mysql_fetch_assoc()....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só que ele não deveria retornar o valor de acordo com o usuario?? Como eu mesmo fiz??

 

 

 

Sendo assim, tem como você me passar um exemplo, para eu entender melhor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

..

 

e retorna, só que ainda não está 'pronto para ser impresso'

$query=mysql_query("SELECT foto FROM tabela WHERE login='$nome'");
$dados = mysql_fetch_assoc( $query );

echo $dados['foto'];
ai sim você tem algo para dar echo

Compartilhar este post


Link para o post
Compartilhar em outros sites

$query=mysql_query("SELECT foto FROM tabela WHERE login='$nome'");
$dados = mysql_fetch_assoc( $query );

echo $dados['foto'];

William, eu poderia usar mysql_fetch_array? E porque eu tenho que fazer isso (mysql_fetch_assoc)? Sendo que eu peço apenas o campo foto de acordo com o usuario? Preciso muito que você me esclareça essa dúvida!

 

 

Muito Obrigado, Vito!

Compartilhar este post


Link para o post
Compartilhar em outros sites

_fetch_array, e _fetch_assoc são 'a mesma coisa', com a diferença de que o _assoc é mais rápido.

 

Sim, você precisa passar por um fetch.

 

E isso se dá pelo motivo:

http://www.php.net/mysql_query

Valor Retornado

 

Para comandos SELECT, SHOW, DESCRIBE ou EXPLAIN, mysql_query() retorna um resource em caso de sucesso, ou FALSE em caso de falha.

 

Para outros tipos de consultas SQL, UPDATE, DELETE, DROP, etc, mysql_query() retorna TRUE em caso de sucesso ou FALSE em caso de erro.

 

O recurso de resultado retornado pode ser passado para mysql_fetch_array()

Com o resource retornado, você precisa necessariamente passar por um fetch.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aproveitando o tópico, estou tentando abrir uma imagem com o php mas não funciona!

To usando esse código:

$foto=fopen("../fotos/usuarios/".$foto."", "r");

Já tentei esse:

 

$foto=fopen("../fotos/usuarios/".$foto."", "r");

E já tentei esse:

chdir('htdocs');//porque a imagem esta na pasta fotos/usuarios que estao dentro da htdocs! O index.php tbm ai //tentei usar chdir para voltar ao diretório!
$foto=fopen("../fotos/usuarios/".$foto."", "r");

 

Sempre dá esse erro:

 

Warning: fopen(): open_basedir restriction in effect. File(../fotos/usuarios/default_picture.jpg) is not within the allowed path(s): (ENDEREÇO/htdocs) in /www/zzl.org/g/u/e/PAG/htdocs/index.php on line 18 Warning: fopen(../fotos/usuarios/default_picture.jpg): failed to open stream: Operation not permitted in /www/zzl.org/g/u/e/PAG/htdocs/index.php on line 18

Compartilhar este post


Link para o post
Compartilhar em outros sites

Evandro, já li mas infelizmente, eu utilizo um FREE HOST, aí eu não tenho acessoa o php.ini! Pelo que eu li eu tenho que mecher no php.ini! Teria como você me mostrar como eu faço? Pois tenho que entregar esse script para um amigo e ele um template pra mim! E só falta essa parte aí!! Valeu!

 

PEssoal alguém por favor?? Só falta essa parte!!

 

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.