Jump to content

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in


JhontanDev
 Share

Recommended Posts

Olá, tou com um problema nesse código

<?php
include_once "conexao.php";
$get = strip_tags($_GET['q']);

$executar = mysql_query("SELECT * FROM `busca` WHERE titulo LIKE '%".$get."%' OR descricao LIKE '%".$get."%'");

if(mysql_num_rows($executar) == 0){
echo '<p>Não foram encontrados resutados na sua pesquisa</p>';
}else{
$num = mysql_num_rows($executar);
echo '<p id="res">Sua pesquisa retornou <b>'.$num.'</b> resultados para o termo: <b>'.$get.'</b></p>';
echo '<ul>';
while($res = mysql_fetch_object($executar)){
?>
<li>
<span><?php echo $res->titulo;?></span>
<p><?php echo utf8_encode($res->descricao);?></p>
</li>
<?php
}
echo '</ul>';
}
?>

Aparece o seguinte erro:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\conexao\buscar.php on line 8
Link to comment
Share on other sites

altera para o segunite e diz o que aparece:

$executar = mysql_query("SELECT * FROM `busca` WHERE titulo LIKE '%".$get."%' OR descricao LIKE '%".$get."%'") or die(mysql_error());

Eu fiz isso continua ainda :/

Como eu posso fazer a substituição desses valores, porque aqui é pdo, sou iniciante em php.

Arquivo: functions.php

<?php
function cadastrarImagens($titulo, $imagem, $descricao, $imagemrel){
$pdo = conectar();
$cadastrar = $pdo->prepare("INSERT INTO imagem(imagem_titulo, imagem_foto, imagem_descricao, imagem_rel) VALUES (:titulo, :imagem, :descricao, :imagemrel)");
$cadastrar->bindValue(":titulo", $titulo);
$cadastrar->bindValue(":imagem", $imagem);
$cadastrar->bindValue(":descricao", $descricao);
$cadastrar->bindValue(":imagemrel", $imagemrel);
$cadastrar->execute();

if($cadastrar->rowCount() == 1):
return true;
else:
return false;
endif;
}


function listarImagens(){
$pdo = conectar();
$listar = $pdo->query("SELECT * FROM imagem");
$listar->execute();

$dados = $listar->fetchAll(PDO::FETCH_OBJ);
return $dados;
}
?>

aqui:

<?php
include_once "config/conexao.php";
include_once "functions/functions.php";
$get = strip_tags($_GET['q']);

$executar = mysql_query("SELECT * FROM imagem WHERE imagem_titulo LIKE '%".$get."%' OR imagem_descricao LIKE '%".$get."%'") or die(mysql_error());

if(mysql_num_rows($execultar) == 0){
echo '<p>Não foram encontrados resultados na sua pesquisa.</p>';
}else{
$num = mysql_num_rows($execultar);
echo '<p id="res">Sua pesquisa retornou <strong>'.$num.'</strong> resultados para o termo: <strong>'.$get.'</strong></p>'; 
echo '<ul>';
while($res = mysql_fetch_object($execultar)) {


?>
<li class="new">
<a class="atr" href="#"><?php $res->imagem_titulo; ?><span><img src="img/logo.png" alt="gato" /></span></a>
<p><?php $res->imagem_descricao; ?></p>
</li>
<?php
}
echo '</ul>';
}
?>
Link to comment
Share on other sites

Ele devia de parar na linha de código que te foi dada e dizer-te qual o erro, mas se continuas com o mesmo erro é estranho. Experimenta desta forma:


$executar = mysql_query("SELECT * FROM `busca` WHERE titulo LIKE '%".$get."%' OR descricao LIKE '%".$get."%'");

if($executar === FALSE)
{
  var_dump(mysql_error());
  return;
}

// O resto do teu código..
Link to comment
Share on other sites

Ele devia de parar na linha de código que te foi dada e dizer-te qual o erro, mas se continuas com o mesmo erro é estranho. Experimenta desta forma:


$executar = mysql_query("SELECT * FROM `busca` WHERE titulo LIKE '%".$get."%' OR descricao LIKE '%".$get."%'");

if($executar === FALSE)
{
  var_dump(mysql_error());
  return;
}

// O resto do teu código..

Continua, diz que a base de dados não foi selecionada, mas quando eu seleciono a base de dados, volta o mesmo erro.

Você poderia dizer como eu posso fazer as substituições?

Eu tenho esse arquivo functions.php

<?php
function cadastrarImagens($titulo, $imagem, $descricao, $imagemrel){
$pdo = conectar();
$cadastrar = $pdo->prepare("INSERT INTO imagem(imagem_titulo, imagem_foto, imagem_descricao, imagem_rel) VALUES (:titulo, :imagem, :descricao, :imagemrel)");
$cadastrar->bindValue(":titulo", $titulo);
$cadastrar->bindValue(":imagem", $imagem);
$cadastrar->bindValue(":descricao", $descricao);
$cadastrar->bindValue(":imagemrel", $imagemrel);
$cadastrar->execute();

if($cadastrar->rowCount() == 1):
return true;
else:
return false;
endif;
}


function listarImagens(){
$pdo = conectar();
$listar = $pdo->query("SELECT * FROM imagem");
$listar->execute();

$dados = $listar->fetchAll(PDO::FETCH_OBJ);
return $dados;
}
?>

E esse no qual queria substituir os valores:

<?php
mysql_connect('localhost','root','') or die(mysql_error());
mysql_select_db('conexaone') or die(mysql_error());
include_once "functions/functions.php";
$get = strip_tags($_GET['q']);

$executar = mysql_query("SELECT * FROM imagem WHERE imagem_titulo LIKE '%".$get."%' OR imagem_descricao LIKE '%".$get."%'");

if($executar === FALSE)
{
  var_dump(mysql_error());
  return;
}
if(mysql_num_rows($execultar) == 0){
echo '<p>Não foram encontrados resultados na sua pesquisa.</p>';
}else{
$num = mysql_num_rows($execultar);
echo '<p id="res">Sua pesquisa retornou <strong>'.$num.'</strong> resultados para o termo: <strong>'.$get.'</strong></p>'; 
echo '<ul>';
while($res = mysql_fetch_object($execultar)) {


?>
<li class="new">
<a class="atr" href="#"><?php $res->imagem_titulo; ?><span><img src="img/logo.png" alt="gato" /></span></a>
<p><?php $res->imagem_descricao; ?></p>
</li>
<?php
}
echo '</ul>';
}
?>
Edited by JhontanDev
Link to comment
Share on other sites

Queres traduzir para mysqli?

$connection = mysqli_connect("localhost", "username", "password", "database");
if (mysqli_connect_errno())
{
 echo "Erro de base de dados: " . mysqli_connect_error();
 return;
}

$query = $connection->prepare("SELECT * FROM imagem WHERE imagem_titulo LIKE ? OR imagem_descricao LIKE ?");
$query->bind_param("ss", '%' . $get . '%', '%' . $get . '%'); // deve funcionar..
$query->execute();
$query->bind_result($campoA, $campoB); // os campos que são retornados do SELECT *

while($query->fetch())
{
  echo $campoA;
}
Link to comment
Share on other sites

Queres traduzir para mysqli?

$connection = mysqli_connect("localhost", "username", "password", "database");
if (mysqli_connect_errno())
{
 echo "Erro de base de dados: " . mysqli_connect_error();
 return;
}

$query = $connection->prepare("SELECT * FROM imagem WHERE imagem_titulo LIKE ? OR imagem_descricao LIKE ?");
$query->bind_param("ss", '%' . $get . '%', '%' . $get . '%'); // deve funcionar..
$query->execute();
$query->bind_result($campoA, $campoB); // os campos que são retornados do SELECT *

while($query->fetch())
{
  echo $campoA;
}

Só queria fazer a substituição... Os campos de cima nos campos de baixo.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.