Erro em SELECT com mysql_fetch_array() expects parameter 1 to be resource

19/07/2016

0

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:
$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

Carlos Magno

Responder

Post mais votado

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

Fabio Basso

Fabio Basso
Responder

Mais Posts

19/07/2016

Marlon Gera

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 :)
Responder

20/07/2016

Rhavana Façanha

]Já deu esse erro no meu. Usa em PDO que é mais futuro, rs (e mais fácil também).[/quote
Responder

28/07/2016

Carlos Magno

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 />
Responder

28/07/2016

William

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?
Responder

28/07/2016

Carlos Magno

O arquivo de conexão:

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;
}
Responder

29/07/2016

William

Coloca essa função no seu script de consulta e posta o resultado:
var_dump($conecta);
Responder

29/07/2016

Carlos Magno

A única coisa que me retorna é NULL.
Responder

29/07/2016

William

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
Responder

01/08/2016

Carlos Magno

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.
Responder

08/11/2016

Fabio Basso

Manda o código de todo o arquivo.
Responder

08/11/2016

Diego Silva

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.
Responder

09/11/2016

Calebe Menezes

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.
Responder

10/11/2016

Carlos Magno

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.
Responder

11/11/2016

Diego Silva

Que bom Carlos! O que importa é que você resolveu! Às vezes acontece, deixamos alguns detalhes passarem batidos...
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar