JhontanDev Posted March 8, 2015 at 05:11 AM Report Share #578928 Posted March 8, 2015 at 05:11 AM 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 More sharing options...
HappyHippyHippo Posted March 8, 2015 at 07:16 AM Report Share #578929 Posted March 8, 2015 at 07:16 AM 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()); 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
JhontanDev Posted March 8, 2015 at 04:18 PM Author Report Share #578955 Posted March 8, 2015 at 04:18 PM 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 More sharing options...
HappyHippyHippo Posted March 8, 2015 at 04:38 PM Report Share #578956 Posted March 8, 2015 at 04:38 PM altera para o segunite e diz o que aparece: IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
JhontanDev Posted March 8, 2015 at 04:47 PM Author Report Share #578958 Posted March 8, 2015 at 04:47 PM Alterar para o quê? Link to comment Share on other sites More sharing options...
bioshock Posted March 8, 2015 at 04:56 PM Report Share #578960 Posted March 8, 2015 at 04:56 PM 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 More sharing options...
JhontanDev Posted March 8, 2015 at 05:32 PM Author Report Share #578962 Posted March 8, 2015 at 05:32 PM (edited) 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 March 8, 2015 at 05:34 PM by JhontanDev Link to comment Share on other sites More sharing options...
bioshock Posted March 8, 2015 at 06:11 PM Report Share #578965 Posted March 8, 2015 at 06:11 PM 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 More sharing options...
JhontanDev Posted March 8, 2015 at 06:36 PM Author Report Share #578969 Posted March 8, 2015 at 06:36 PM 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 More sharing options...
bioshock Posted March 8, 2015 at 07:52 PM Report Share #578973 Posted March 8, 2015 at 07:52 PM Não percebi. Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 8, 2015 at 07:57 PM Report Share #578974 Posted March 8, 2015 at 07:57 PM $query->bind_param("ss", '%' . $get . '%', '%' . $get . '%'); // o bind espera referências, logo este código não deverá funcionar // terá de criar as variáveis, atribuir os valores e passar as variáveis na chamada da função IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
bioshock Posted March 8, 2015 at 08:31 PM Report Share #578977 Posted March 8, 2015 at 08:31 PM É possível, já não me lembro. Utilizar frameworks permite-nos uma liberdade de esquecimento.. Sendo assim, talvez o adequado seja $get = '%{$_GET["q"]}%' No entanto não acho que seja disso que ele se queixa. Link to comment Share on other sites More sharing options...
Lisboeta Posted March 11, 2015 at 01:46 PM Report Share #579151 Posted March 11, 2015 at 01:46 PM (edited) Boa tarde JhontanDev em vez de colocares $row experimenta este código while ( $row = mysqli_fetch_array ( $executar , MYSQLI_ASSOC)) { $value [] = $row; }; Edited March 11, 2015 at 01:47 PM by Lisboeta Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now