Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 18 su 18
  1. #11
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    53
    PER COME ho usato il codice, ad ogni registrazione ( e non login) gli utenti non posso registrarsi con il nome mt se per esempio c è già un utente registrato con il nome MT ... e questo campo me lo sono portato dietro anche nel login .... ma non sono espertissima in questo campo. Ho seguito suggerimenti e spiegazioni su internet

  2. #12
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    53
    ma la funzione mysql_result?

  3. #13
    Utente di HTML.it L'avatar di mt19
    Registrato dal
    Jul 2011
    Messaggi
    180
    Quote Originariamente inviata da MTERESA Visualizza il messaggio
    ma la funzione mysql_result?
    Se intendi qua:
    $username = mysql_result(mysql_query("SELECT username FROM users WHERE username LIKE '$username'"), 0);

    Gli dici di selezionare (select) lo username dove (where) lo username è uguale a $username, che onestamente non ha senso secondo quanto conosco io.... Piusttosto avrei fatto un

    $result = mysql_result(mysql_query("SELECT * FROM
    users WHERE username LIKE '$username'"), 0);
    così creo un array con tutta la riga dell'utente

    poi avrei fatto:
    $username = $result['username']
    $password ? $result['password']
    ....



    Forse sto dicendo una cavolata, ma in mysql le query non sono case insenitive? Per renderle sensitive va mica aggiunto BINARY?

  4. #14
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Domanda. Il LIKE funziona senza il % ?
    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

  5. #15
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Per rendere case insensitive usare lower o upper

    nella select ... lower(username) = lower($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

  6. #16
    Utente di HTML.it L'avatar di mt19
    Registrato dal
    Jul 2011
    Messaggi
    180
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Per rendere case insensitive usare lower o upper

    nella select ... lower(username) = lower($username)
    Uhmmm soluzione non troppo brillante a parer mio:
    se mi iscrivo a un forum come Mt19, quando scrivo vorrei vedere il mio nome con le rispettive maiuscole. Col tuo metodo dovrei, al momento della registrazione, salvare ogni nome tutto in minuscolo o in maiuscolo.

    In ogni caso sono quasi sicuro che scrivere, per esempio, un select con

    WHERE username = 'Mt19'
    e
    WHERE username='mt19'
    dovrebbe produrre lo stesso risultato.

    Facendo una rapida ricerca ho trovato questo:
    http://stackoverflow.com/a/9807669

    Difatti, nello stesso 3d, qualche risposta sotto, propongono l'utilizzo di collate per il case sensitive:
    http://stackoverflow.com/a/18627707

  7. #17
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quote Originariamente inviata da mt19 Visualizza il messaggio
    Uhmmm soluzione non troppo brillante a parer mio:
    se mi iscrivo a un forum come Mt19, quando scrivo vorrei vedere il mio nome con le rispettive maiuscole. Col tuo metodo dovrei, al momento della registrazione, salvare ogni nome tutto in minuscolo o in maiuscolo.

    In ogni caso sono quasi sicuro che scrivere, per esempio, un select con

    WHERE username = 'Mt19'
    e
    WHERE username='mt19'
    dovrebbe produrre lo stesso risultato.

    Facendo una rapida ricerca ho trovato questo:
    http://stackoverflow.com/a/9807669

    Difatti, nello stesso 3d, qualche risposta sotto, propongono l'utilizzo di collate per il case sensitive:
    http://stackoverflow.com/a/18627707
    Non troppo brillante ?
    Ma conosci sql ? where lower(username) = lower($username) mette in minuscole soltanto nella clausola non nel db. Quindi se vuoi confrontare PippO = piPPo fai lower(PippO) = lower(piPPo) -> pippo = pippo. Tutto qua.
    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

  8. #18
    Utente di HTML.it L'avatar di mt19
    Registrato dal
    Jul 2011
    Messaggi
    180
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Non troppo brillante ?
    Ma conosci sql ? where lower(username) = lower($username) mette in minuscole soltanto nella clausola non nel db. Quindi se vuoi confrontare PippO = piPPo fai lower(PippO) = lower(piPPo) -> pippo = pippo. Tutto qua.
    Ahhh ops, avevo frainteso, pensavo lo facessi a livello di PHP, non di SQL.

    Comunque adesso ne sono sicuro: MySQL è case insensitive, che io scriva:

    SELECT * FROM mydaxter WHERE username='mt19';
    o
    SELECT * FROM mydaxter WHERE username='Mt19';
    o
    SELECT * FROM mydaxter WHERE username='mT19';
    o
    SELECT * FROM mydaxter WHERE username='MT19';

    Mi da sempre lo stesso risultato, mentre se scrivo:
    SELECT * FROM mydaxter WHERE BINARY username='mt19';
    mi viene fuori un risultato, se scrivo:
    SELECT * FROM mydaxter WHERE BINARY username='Mt19';
    o in tutti gli altri modi i risultati sono 0.
    Ultima modifica di mt19; 24-08-2014 a 21:51

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.