Erro em SELECT com mysql_fetch_array() expects parameter 1 to be resource
Ola pessoal!
Estou tendo problemas com um código para exibir o titulo da página no topo do navegador.
O código é o seguinte:
O problema é que localmente ele funciona perfeito. Mas ao enviar para para a hospedagem ele me retorna o seguinte erro.
Alguem pode me ajudar?
Estou tendo problemas com um código para exibir o titulo da página no topo do navegador.
O código é o seguinte:
$vid = mysql_query("SELECT campo1, campo2 FROM tabela WHERE campo1 = '$variavel1'"); while($tivid = mysql_fetch_array($vid)) { $tilvid = $tivid['campo2']; echo $tilvid;
O problema é que localmente ele funciona perfeito. Mas ao enviar para para a hospedagem ele me retorna o seguinte erro.
<b>Warning</b>: mysql_fetch_array() expects parameter 1 to be resource, boolean given in <b>/url/do/arquivo.php</b> on line <b>21</b>
Alguem pode me ajudar?
Carlos Magno
Curtidas 0
Melhor post
Fabio Basso
19/07/2016
Acho que não vai retornar um valor booleano na linha: while($tivid = mysql_fetch_array($vid))
http://php.net/manual/pt_BR/function.mysql-fetch-array.php
http://php.net/manual/pt_BR/function.mysql-fetch-array.php
GOSTEI 1
Mais Respostas
Marlon Gera
19/07/2016
Mano, talves ou com certeza seja a versão do php, pois a função mysql_* foi desabilitada no PHP 7, tenta utilizar mysqli_*
Esperto ter ajudado :)
Esperto ter ajudado :)
GOSTEI 1
Rhavana Façanha
19/07/2016
]Já deu esse erro no meu. Usa em PDO que é mais futuro, rs (e mais fácil também).[/quote
GOSTEI 1
Carlos Magno
19/07/2016
Refiz todos os códigos utilizando PDO, mas ainda assim me retorna esse erro agora localmente:
<b>Fatal error</b>: Call to a member function prepare() on a non-object in <b>/url/do/arquivo.php</b> on line <b>23</b><br />
GOSTEI 0
William
19/07/2016
Esse problema ocorre quando não existe uma instância do objeto PDO configurado!
Como está sua conexão e seu código de consulta em PDO?
Como está sua conexão e seu código de consulta em PDO?
GOSTEI 0
Carlos Magno
19/07/2016
O arquivo de conexão:
A consulta:
define('HOST','host'); define('DB','database'); define('USER','user'); define('PASS','password'); $conexao = 'mysql:host='.HOST.';dbname='.DB; try{ $conecta = new PDO($conexao,USER,PASS); $conecta->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); } catch (PDOexception $error_conecta) { echo htmlentities('Erro ao conectar o banco de dados! '.$error_conecta->getMessage()); }
A consulta:
$sql_select_tmt = "SELECT campo1, campo2 FROM tabela WHERE campo1 = '$variavel1'"; try { $query_select_tmt = $conecta->prepare($sql_select_tmt); $query_select_tmt->execute(); $resutl_tmt = $query_select_tmt->fetchAll(PDO::FETCH_ASSOC); } catch (PDOexception $error_select) { echo "Erro ao selecionar ".$error_select->getMessage(); } foreach($resutl_tmt as $tmt) { $timat = $tmt['campo2']; echo $timat; }
GOSTEI 0
William
19/07/2016
Coloca essa função no seu script de consulta e posta o resultado:
var_dump($conecta);
GOSTEI 0
Carlos Magno
19/07/2016
A única coisa que me retorna é NULL.
GOSTEI 0
William
19/07/2016
kkkk é isso então meu amigo, você não tem conexão com o banco de dados, reveja seus dados de conexão!
Leia esse post http://www.devwilliam.com.br/php/configurando-uma-conexao-com-mysql-utilizando-pdo-no-php
Leia esse post http://www.devwilliam.com.br/php/configurando-uma-conexao-com-mysql-utilizando-pdo-no-php
GOSTEI 0
Carlos Magno
19/07/2016
Meu amigo, li o post e revisei todo o código. Mesmo seguindo as instruções do post ainda me retorna o mesmo erro. E esse erro é somente em um arquivo. Nos outros ele funciona perfeitamente.
GOSTEI 0
Fabio Basso
19/07/2016
Manda o código de todo o arquivo.
GOSTEI 0
Diego Silva
19/07/2016
Duas perguntas,
De onde vem essa variável "$variavel1"?
Outra pergunta é se você conferiu se o nome dos campos e da tabela estão certos. Eles tem que estar iguais ai na sua query e lá no banco.
Caso não seja nada disso, vamos verificando para ver o que pode ser.
De onde vem essa variável "$variavel1"?
Outra pergunta é se você conferiu se o nome dos campos e da tabela estão certos. Eles tem que estar iguais ai na sua query e lá no banco.
Caso não seja nada disso, vamos verificando para ver o que pode ser.
GOSTEI 0
Calebe Menezes
19/07/2016
Alguma coisa na sua query não está certa(pode ser uma informação errada, no seu caso pode ser o nome das colunas, o nome da tabela ou ambos). Já tentou reproduzir a mesma isoladamente no próprio banco? Ali você poderia ver o erro melhor.
GOSTEI 0
Carlos Magno
19/07/2016
Obrigado a todos que procuraram ajudar, mas já resolvi o problema. O problema existia porque esse select ficava dentro de uma função e eu não havia chamado a conexão do banco. São coisas que acontece e custamos perceber.
GOSTEI 0
Diego Silva
19/07/2016
Que bom Carlos! O que importa é que você resolveu! Às vezes acontece, deixamos alguns detalhes passarem batidos...
GOSTEI 0