Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Comando Mysqli con PHP ad oggetti

    Salve,
    qualcuno saprebbe dirmi perchè questa sintassi mi restituisce sempre un null
    codice:
                    elseif($mysqli->query("SELECT * FROM users WHERE username LIKE $username"))            {
                    echo "Username già utilizzato, scegline un altro.</br><a href='javascript:history.back()'>Torna indietro</a>";
                }
    mentre quest'altro mi restituisce sempre un positivo...?
    codice:
                    elseif($mysqli->query("SELECT * FROM users WHERE username LIKE '$username'"))            {
                    echo "Username già utilizzato, scegline un altro.</br><a href='javascript:history.back()'>Torna indietro</a>";
                }

  2. #2
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    764
    sei certo di quello che ti restituisce $mysqli->query ?
    eXvision

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,452
    Come verifichi il null? Quelli lì sono degli elseif, che c'è nell'if che li precede? Che lo usi a fare il LIKE se poi cerchi effettivamente una stringa uguale a $username?

  4. #4
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Perchè nel primo non metti $username tra apici e quindi avrai un errore di sintassi sql e null come valore restituito

  5. #5
    Quote Originariamente inviata da boots Visualizza il messaggio
    Perchè nel primo non metti $username tra apici e quindi avrai un errore di sintassi sql e null come valore restituito
    Ok, e nel secondo invece..?
    Mentre per quanto riguarda il like, lo utilizzo per eliminare il case sensitive..

  6. #6
    Ho risolto così.. Penso che quella query restituisse un valore positivo anche se non trovava nulla, nel senso che la query andava a buon fine, quindi la considerava positiva.. Ecco il codice, magari poco garbato, ma funziona..
    Tuttavia avrei piacere di ricevere qualche consiglio per migliorare il codice a livello visivo..
    codice:
    $totu = $mysqli->query("SELECT * FROM users WHERE username LIKE '" . $username . "'");
    
                    elseif($totu->num_rows > 0)
                {
                    echo "Username $username già utilizzato, scegline un altro.</br><a href='javascript:history.back()'>Torna indietro</a>";
                }

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,452
    Quote Originariamente inviata da Luigi636 Visualizza il messaggio
    Mentre per quanto riguarda il like, lo utilizzo per eliminare il case sensitive..
    In SQL neanche = è case sensitive.

  8. #8

  9. #9
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Avrei scritto cosi.

    SELECT * FROM users WHERE trim(upper(username)) = trim(upper('
    $username'))
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  10. #10
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    In SQL neanche = è case sensitive.
    Stranamente ha ragione luigi636.

    select 'badaze' like 'BADAZE' dà 1 ma select 'badaze ' like 'BADAZE' dà 0.

    Funziona dal momento in cui si confrontano gli stessi numeri di caratteri a destra e a sinistra.
    Quindi in ogni caso ci vuole il trim.
    Immagini allegate Immagini allegate
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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 © 2024 vBulletin Solutions, Inc. All rights reserved.