Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344

    MySQL: inserimento dato in campo numerico con apici

    Mi capita di dover inserire in un campo numerico il valore 0 (o nessuno dato che nella tabella ho settato di default il valore 0).

    Siccome però poi capita che la query genera giustamente errore:

    Codice PHP:
    INSERT INTO tabella (numerostringa1stringa2VALUES (, 'stringa1''stringa2'); 
    Ho aggiunto gli apici anche al valore numerico:

    Codice PHP:
    INSERT INTO tabella (numerostringa1stringa2VALUES ('''stringa1''stringa2'); 
    così ho visto che a MySQL non crea problemi anche quando il campo è effettivamente con valore inserendolo correttamente nel campoi di tipo INT(11)

    Codice PHP:
    INSERT INTO tabella (numerostringa1stringa2VALUES ('10''stringa1''stringa2'); 
    Posso pertanto utilizzare questa tecnica senza creare problemi nei tipi numerici?

  2. #2
    Le apici contraddistingono una stringa. Quindi sarebbe meglio utilizzare il numerico senza di esse.

    Se nessun valore metti 0 come prevede anche il default (default di campo-valore). Un domani potresti trovare un settaggio di sql-mode che non accetta stringhe sui dati numerici e dovresti rivedere i tuoi script.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    Ok chiaro!

    Allora ho risolto tramite codice nel caso in cui il campo input fosse vuoto assegna di default lo stesso valore che viene assegnato dal db.

    Codice PHP:
    $numero = (isset($_POST['numero']) and strlen(trim($_POST['numero'])) > 0) ? trim($_POST['numero']) : 0
    Così la query è corretta.

    Grazie.

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.