Visualizzazione dei risultati da 1 a 10 su 10

Discussione: [MySql] query select

  1. #1
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768

    [MySql] query select

    Buon pomeriggio

    mi è capitata una cosa strana, non riesco a far funzionare la clausola WHERE quando il campo del record è vuoto.

    se scrivo

    $query = "SELECT id, id_cliente, nome_cliente, inizio, fine FROM accordi WHERE fine != '' ORDER BY 'nome_cliente'";

    oppure

    $query = "SELECT id, id_cliente, nome_cliente, inizio, fine FROM accordi WHERE fine <> '' ORDER BY 'nome_cliente'";

    la query non mi seleziona niente, senza il where funziona. Eppure ho contrallato e ricontrallato, il campo "fine" è sempre vuoto. Perchè non va?

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Scusa, se il campo è vuoto e tu fai la ricerca per diverso da vuoto, è ovvio che non ti restituisca niente.
    Oppure non ho capito la domanda

  3. #3
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    allora forse definisco male il "vuoto"!

    come faccio a dire che fine deve essere vuoto?

    in Php ad esempio

    $var ="";

    if ($var!="")...

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    No.

    In PHp è
    if ($var == '')
    oppure
    if (empty($var))

    In sql
    WHERE campo = ''
    però così vale solo se è vuoto, non se è NULL

  5. #5
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    se è Null come posso fare?

    comunque il mio campo di default è NOT NULL :master:

  6. #6
    WHERE campo = null

  7. #7
    se è not null allora non puoi avere valori null

  8. #8
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    lo so, appunto,

    perchè non funziona la mia query?

    WHERE fine!=''

  9. #9
    può essere che ci sia impostato un valore di predefinito per quella colonna e quindi non esistono campi vuoti, ma al posto del vuoto ci sia il valore di predefinito...

    in caso non sia così ti conviene farlo diventare così, mettendo come predefinito un valore assurdo tipo asdfasdfasdf e dirgli WHERE fine != 'asdfasdfasdf'

  10. #10
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    ti ringrazio per l'aiuto, però volevo evitare di assegnare un valore diverso al campo 'fine' perchè, altrimenti, dovrei correggere tutti i record inseriti e modificare tutte le pagine php...

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.