Invio dati recepiti da form per query su DB

di il
2 risposte

Invio dati recepiti da form per query su DB

Buongiorno a tutti,

non ho trovato una sezione presentazione, mi presento qua.
Mi chiamo Nicolò ho 27 anni e ho varie passioni, tra cui una scoperta da poco che è la programmazione.
Credo che non sia mai troppo tardi per imparare cose nuove e migliorarsi ogni giorno.
Sto muovendo i miei primi passi nella programmazione, quindi sono ancora molto inesperto.

Insomma la faccio breve, sto creando un'applicazione web, che mi permetta di poter cercare più velocemente i libri nella mia libreria (dato che ne ho molti). Praticamente ho un form html che invia i dati ad un pagina php, contenente la query al DB, ecco il form:

<form method="post" action="database/cerca_libro.php">
<input id="searchbox" type="text" name="titolo" placeholder="Cerca un libro">
</form>

dopo di che passo tutto ad un file php contente lo script:

//Query
$query = "SELECT * FROM libro WHERE titolo =" . $_POST['titolo'];

//lancio la query
$result = $connection->query($query);

//Array Libri
$libri = array();

if($result->num_rows > 0) {

foreach($result->fetch_all(MYSQLI_ASSOC) as $row) {
array_push($libri, (object) $row);
print_r($libri);
}

} else {
echo "Nessun libro trovato!";
}

E mi restituisce l'errore:

Trying to get property of 'num_rows' of non-object

Qualcuno sa darmi qualche idea su come sistemare il problema? Magari fornendomi un altro modo per fare l'operazione?

Vi ringrazio in anticipo.

Nicolò

2 Risposte

  • Re: Invio dati recepiti da form per query su DB

    <form method="post" action="database/cerca_libro.php">
    <input id="searchbox" type="text" name="titolo" placeholder="Cerca un libro">
    </form>
    
    
    //Query
    $query = "SELECT * FROM libro WHERE titolo ='" . $_POST['titolo'] . "'";
    
    //lancio la query
    $result = $connection->query($query);
    
    if($result !== false) {
    if($result->num_rows > 0) {
    
    $libri = array();
    foreach($result->fetch_all(MYSQLI_ASSOC) as $row) {
    $libri[] = $row;
    }
    print_r($libri);
    }
    
    } else {
    echo "Errore libro non trovato!";
    }
    } else {
    echo "Nessun libro trovato";
    }
  • Re: Invio dati recepiti da form per query su DB

    Grazie MIlle.

    Nicolò
Devi accedere o registrarti per scrivere nel forum
2 risposte