Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 559404
            [titulo] => Erro em SELECT com mysql_fetch_array() expects parameter 1 to be resource
            [dataCadastro] => DateTime Object
                (
                    [date] => 2016-07-19 11:10:24
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 289788
            [status] => A
            [isExample] => 
            [NomeUsuario] => Fabio Basso
            [Login] => fabiobasso
            [Apelido] => 
            [Foto] => 
            [Conteudo] => 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 ) )

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

Carlos Magno
   - 19 jul 2016

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:
#Código
$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.
#Código
<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?

Post mais votado

Fabio Basso
|
MVP
Pontos: 110
    19 jul 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

Marlon Gera
   - 19 jul 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 :)

Rhavana Façanha
   - 20 jul 2016


Citação:
]Já deu esse erro no meu. Usa em PDO que é mais futuro, rs (e mais fácil também).

Carlos Magno
   - 28 jul 2016

Refiz todos os códigos utilizando PDO, mas ainda assim me retorna esse erro agora localmente:

#Código
<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 />

William (devwilliam)
   - 28 jul 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?

Carlos Magno
   - 28 jul 2016

O arquivo de conexão:

#Código
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:
#Código
$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;
}

William (devwilliam)
   - 29 jul 2016

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

Carlos Magno
   - 29 jul 2016

A única coisa que me retorna é NULL.

William (devwilliam)
   - 29 jul 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

Carlos Magno
   - 01 ago 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.

Fabio Basso
|
MVP
Pontos: 110
    08 nov 2016

Manda o código de todo o arquivo.

Diego Souza
|
MVP
Pontos: 1440
    08 nov 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.

Calebe
   - 09 nov 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.

Carlos Magno
   - 10 nov 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.

Diego Souza
|
MVP
Pontos: 1440
    11 nov 2016

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