Visualizzazione risultati 1 fino 5 di 5

Discussione: Trying to get property of non-object

  1. #1
    pierinik non è connesso Utente giovane
    Data registrazione
    26-03-2010
    Messaggi
    58

    Predefinito Trying to get property of non-object

    Salve, ho la segnalazione in oggetto riguardo la terza riga:
    Codice PHP:
    1$sql "SELECT * FROM sala WHERE cognome LIKE '$_POST[key]%' AND nome LIKE '$_POST[nome]%' ORDER BY cognome ASC";
    2$res $mysqli->query($sql);         
    // se trova qualcosa va avanti 
    3- if($res->num_rows 0

    L'errore però mi compare solo se la ricerca riguarda nominativi che hanno l'apostrofo come ad esempio: D'AMICO altrimenti non mi segnala nessun errore e la query va bene.
    Con PhpMyAdmin per fare la ricerca devo scrivere in questo modo:
    Codice:
    SELECT * FROM `sala` WHERE `cognome`='D 'AMICO '
    Perchè ? Come posso risolvere ?
    Grazie

  2. #2
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    10,816

    Predefinito

    Utilizza escape_string() per i parametri: come stai facendo ora sei anche a rischio di sql injection perché l'utente può modificare la struttura della query.

    Ciao!

  3. #3
    pierinik non è connesso Utente giovane
    Data registrazione
    26-03-2010
    Messaggi
    58

    Predefinito

    Grazie della risposta, ma non ho capito come posso risolvere il mio problema.
    Nel mio caso specifico cosa dovrei fare ? grazie

  4. #4
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    10,816

    Predefinito

    Citazione Originalmente inviato da pierinik Visualizza messaggio
    Nel mio caso specifico cosa dovrei fare ? grazie
    Utilizzare escape_string.

    Codice PHP:
    $sql "SELECT * FROM sala WHERE cognome LIKE '".$mysqli->escape_string($_POST['key'])."%' AND nome LIKE '".$mysqli->escape_string($_POST['nome'])."%' ORDER BY cognome ASC"
    Ciao!

  5. #5
    pierinik non è connesso Utente giovane
    Data registrazione
    26-03-2010
    Messaggi
    58

    Predefinito

    OK. Grazie. Funziona. Sei un grande. Ciao

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •