Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Problema upgrade script PHP4 -> PHP5

    Non riesco a capire perchè i dati inviati tramite POST attraverso un form, se non valorizzati (lasciando i campi di input vuoti), mi restituiscono un errore nella query di inserimento nel DB (solo con php5 e mysql5, invece con php4 e mysql4 non ho mai avuto questo problema, i dati venivano inviati come vuoti se non venivano riempiti i campi di input).

    Ho già provato a settare nel php.ini le register global su on, ma niente, i dati vengono inviati soltanto se tutti i campi sono stati valorizzati.

    Per sorpassare l'ostacolo si potrebbe inserire un isset $_POST, per verificare se è stato inviata la variabile tramite post. Il problema è che questo script conta circa 300 files, e quindi mi viene male al solo pensiero di dover metter mano all'intero codice.

    La mia domanda è: esiste qualche parametro che è possibile configurare in Apache o nel php.ini che mi permetta di risolvere questo problema??

    Grazie per l'aiuto, sto impazzendo

  2. #2
    potrebbe essere anche la configurazione di mysql. Il parametro SQL-MODE per la precisione

    cerca sql-mode in queste pagine:

    http://dev.mysql.com/doc/refman/5.0/...r-options.html
    http://dev.mysql.com/doc/refman/5.0/...-sql-mode.html

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

  3. #3
    Originariamente inviato da piero.mac
    potrebbe essere anche la configurazione di mysql. Il parametro SQL-MODE per la precisione

    cerca sql-mode in queste pagine:

    http://dev.mysql.com/doc/refman/5.0/...r-options.html
    http://dev.mysql.com/doc/refman/5.0/...-sql-mode.html

    Non ci credo... Ho finalmente risolto, erano 3 giorni che ci lavoravo!
    Grazie infinite

    Il settaggio corretto in MySQL è questo (sotto win modificare my.ini):

    Codice PHP:
    #sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 
    Questa la descrizione del parametro che è stato omesso:

    STRICT_TRANS_TABLES: If a value could not be inserted as given into a transactional table, abort the statement. For a non-transactional table, abort the statement if the value occurs in a single-row statement or the first row of a multiple-row statement. More detail is given later in this section. (Implemented in MySQL 5.0.2)

    Grazie ancora,
    Roberto

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.