Ir para conteúdo
Fórum Script Brasil
  • 0

Erro: mysql_query() expects parameter 2 to be resource, object given


pass_joao

Pergunta

Ocorreu o seguinte erro:

 mysql_query() expects parameter 2 to be resource, object given in C:\xampp\htdocs\debate\portal\turma.php on line 36

Esse é a parte onde tento inserir no banco:

$query = "INSERT INTO 'tbl_comentario' VALUES (NULL, '".$validade."', '".$titulo."', '".$texto."', '".$opcoes."')";
mysql_query($query,$DB_con);

Aqui é onde faço a conexão com o banco:

<?php
	error_reporting (E_ALL & ~ E_NOTICE & ~ E_DEPRECATED);
	$DB_HOST = 'localhost';
	$DB_USER = 'root';
	$DB_PASS = '';
	$DB_NAME = 'debate';
	
	try{
		global $DB_con;
		$DB_con = new PDO("mysql:host={$DB_HOST};dbname={$DB_NAME}",$DB_USER,$DB_PASS);
		$DB_con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
	}
	catch(PDOException $e){
		echo $e->getMessage();
	}
	
?>

Não sei o que está dando de errado

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Você está misturando PDO e funções mysql_*. Use um ou outro. Recomendo PDO

Tutorial passo-a-passo: http://rberaldo.com.br/pdo-mysql/

 

PS: funções mysql_* estão obsoletas desde o PHP 5.5  e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/


 

Link para o comentário
Compartilhar em outros sites

  • 0

Eu coloquei em PDO, mas não consigo exibir todos os dados do banco, só exibe o último inserido, o código para exibir é esse:

$sql = "SELECT idcomentario, titulo, texto, grupo, validade FROM tbl_comentario where validade = 1 and grupo = 'contra' ORDER BY idcomentario DESC";
$result = $PDO->query( $sql );
$rows = $result->fetch( PDO::FETCH_ASSOC );

echo "<figure class='mdl-card__media contra'>
  <img src='images/a.png' alt='' />
</figure>
<div class='mdl-card__title'>
  <h1 class='mdl-card__title-text'> ".$rows['titulo']."</h1>
</div>
<div class='mdl-card__supporting-text'>
  <p class='comentario'>".$rows['texto']."</p>
</div>
<div class='mdl-card__actions mdl-card--border'>
  <div class='mdl-layout-spacer'></div>
  <button class='mdl-button mdl-button--icon mdl-button--colored'><i class='material-icons'>favorite</i></button>
  <a href='../admin/editar.php?materia=$nome&opiniao=contra&id=$numero'><button class='mdl-button mdl-button--icon mdl-button--colored'><i class='material-icons'>mode_edit</i></button></a>
</div>";

 

Link para o comentário
Compartilhar em outros sites

  • 0

Se quiser exibir vários resultados, o método fetch() precisa ser chamado dentro de um loop.

Outras alternativa é usar fetchAll(), que retorna um array. Mas também é necessário exibir dentro do loop

Veja:

http://php.net/manual/pt_BR/pdostatement.fetch.php

http://php.net/manual/pt_BR/pdostatement.fetchall.php

Link para o comentário
Compartilhar em outros sites

  • 0

coloquei num loop mas fica dando um erro no prepare

Fatal error: Call to a member function prepare() on nul

 

$sql = "SELECT idcomentario, titulo, texto, grupo, validade FROM tbl_comentario where validade = 1 and grupo = 'contra' and idpostagem = :idpostagem BY idcomentario DESC";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':idpostagem', $idpostagem, PDO::PARAM_INT); 
$stmt->execute();
$total = $stmt->rowCount();
while ($row = $stmt->fetchObject()) {
echo "<li>{$row->titulo}</li>
<figure class='mdl-card__media contra'>
  <img src='images/a.png' alt='' />
</figure>
<div class='mdl-card__title'>
  <h1 class='mdl-card__title-text'> {$row->titulo}</h1>
</div>
<div class='mdl-card__supporting-text'>
  <p class='comentario'>{$row->texto}</p>
</div>
<div class='mdl-card__actions mdl-card--border'>
  <div class='mdl-layout-spacer'></div>
  <button class='mdl-button mdl-button--icon mdl-button--colored'><i class='material-icons'>favorite</i></button>
  <a href='../admin/editar.php?materia=$nome&opiniao=contra&id=$numero'><button class='mdl-button mdl-button--icon mdl-button--colored'><i class='material-icons'>mode_edit</i></button></a>
</div>";
}

 

Editado por pass_joao
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...