Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: Motore di ricerca

  1. #1

    Motore di ricerca

    Ragazzi ho questa classe per il motore di ricerca, e funziona quando devo fare la ricerca, ma se nn ci sono risultati mi da un errore


    codice:
    Notice: Undefined variable: esult in C:\xampp\htdocs\esempi\searchengine-2013-08-06\process.php on line 24
    
    corrispondente a :
    codice:
    $process = @mysql_query($sql);
    lo script:

    codice:
    <?php
    
    require_once 'class.search.php';
    
    
    $config = array('localhost','root','','motorericerca');
    $table = 'bizmain';
    $key = 'biz_id';
    $fields = array('biz_name','biz_address','biz_cat');
    
    
    $keyword = $_POST['keyword'];
    
    
    $found = new search_engine($config);
    $found->set_table($table);
    $found->set_primarykey($key);
    $found->set_keyword($keyword);
    $found->set_fields($fields);
    
    
    $result = $found->set_result();
    //print_r($result);
    
    
    // Display the results
    $data = join( ",", $result);
    $sql = "SELECT * FROM bizmain WHERE biz_id IN ($data) ";
    $process = @mysql_query($sql);
    echo "<br><pre><table border=1>";
    
    
    while ($row = mysql_fetch_object($process))
    {
        echo "<tr>";
        echo "<td>".$row->biz_id."</td>";
        echo "<td>".$row->biz_name."</td>";
        echo "</tr>";
    }
    echo "</table>"
    
    
    ?>
    Come posso risolvere ?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Hai letto il messaggio d'errore? E' piuttosto chiaro

    Notice: Undefined variable: esult in C:\xampp\htdocs\esempi\searchengine-2013-08-06\process.php on line 24

    sarà che la variabile si chiama result e non esult?

  3. #3
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Hai letto il messaggio d'errore? E' piuttosto chiaro

    Notice: Undefined variable: esult in C:\xampp\htdocs\esempi\searchengine-2013-08-06\process.php on line 24

    sarà che la variabile si chiama result e non esult?

    Il fatto che io non trovo nessuna variabile esult , c'è solo result, faccio dei controlli vediamo, nemmeno nel file contenente la class esiste un esult

  4. #4
    Ho capito il problema, è la query quando non trova risultati mi da questo errore:

    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\esempi\searchengine-2013-08-06\process.php on line 27
    come posso fare, che quando non ci sono risultati invece di dare questo errore, mi dica semplicemente nessun risultato?

    Grazie in anticipo per le risposte

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    primta conti i risultati...

    Codice PHP:
    if (mysql_num_rows($process) > 0) {
      while (
    $row mysql_fetch_object($process)) {
        ...
      }

    No

  6. #6
    Grazie per la risposta, avevo provato a fare così:

    codice:
    <?php
    
    require_once 'class.search.php';
    
    
    $config = array('localhost','root','','motorericerca');
    $table = 'bizmain';
    $key = 'biz_id';
    $fields = array('biz_name','biz_address','biz_cat');
    
    
    $keyword = $_POST['keyword'];
    
    
    $found = new search_engine($config);
    $found->set_table($table);
    $found->set_primarykey($key);
    $found->set_keyword($keyword);
    $found->set_fields($fields);
    
    
    $result = $found->set_result();
    //print_r($result);
    
    
    // Display the results
    $data = join( ",", $result);
    $sql = "SELECT * FROM bizmain WHERE biz_id IN ($data) ";
    $process = @mysql_query($sql);
    echo "<br><pre><table border=1>";
    if (mysql_num_rows($process) > 0) {
      
    
    
    while ($row = mysql_fetch_object($process))
    {
        echo "<tr>";
        echo "<td>".$row->biz_id."</td>";
        echo "<td>".$row->biz_name."</td>";
        echo "</tr>";
    }
    echo "</table>";
      }
      
    ?>
    L'errore che mi fa è questo:

    codice:
    Warning:  mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\esempi\searchengine-2013-08-06\process.php on line 26

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    Stampa $process per vedere se è di tipo resource
    No

  8. #8
    ho fatto così :

    $process = @mysql_query($sql);
    print_r($process);
    if ($row2=mysql_num_rows($process) > 0) {
    questo è quello che appare se la query non trova risultato:

    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\esempi\searchengine-2013-08-06\process.php on line 26
    se invece trova il risultato :

    Resource id #8Resource id #8
    1 LocalFilipino.com

  9. #9
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Finché stai scrivendo il codice non usare gli @ altrimenti gli eventuali errori ti vengono nascosti e diventi scemo a capire perché qualcosa non funziona.

    Gli @ li puoi aggiungere una volta che hai finito e devi mettere il sito online.

  10. #10
    Ho tolto @ alla query , se ci sono risultati nel database allora non da nessun errore, invece se non trova niente mi da quel problema

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.