Visualizzazione risultati 1 fino 4 di 4

Discussione: function php false

  1. #1
    Guest

    Predefinito function php false

    salve a tutti. premetto che con il php non sono molto ferrato.
    nella mia pagina richiamo una funzione in questo modo
    Codice PHP:
    if(inserisci_modifica($id,$dbase,$tabella))
    {......}
    else echo
    "errore";
    non sto a scrivere quello che fa in caso di 'true'. mentre la funzione inserisci_modifica()

    Codice PHP:
    function inserisci_modifica($a,$b,$c){
    $query="select * from $c where id='$a'";
    $ris=mysql_query($query,$b);
    $campi = mysql_num_fields($ris);
    if(
    mysql_query("insert into $c (id) values ('$a')",$b))
    {
    for(
    $i=0;$i<$campi;$i++){
    $nome_campo=mysql_field_name($ris,$i);
    if(
    $nome_campo!="img"){
    $valore_campo=$_POST[$nome_campo];
    if(!
    mysql_query("update $c set $nome_campo='$valore_campo' where id='$a'",$b))
    echo
    "<p >errore campo \"".$nome_campo."\"</p>";
    }
    }}
    else echo
    "<p class=\"error\">inserimento nel db fallito</p>";
    }
    in poche parole inserisco nel db un record con un certo $id e aggiorno tutti gli altri campi(apparte il campo 'img' che deve essere post-elaborato). La funzione aggiorna tutti i compi come dovrebbe ma restituisce 'false' e quindi da 'errore', fallendo l'if. Credo che sia il ciclo for . In tal caso come posso fare affinchè if(inserisci_modifica($id,$dbase,$tabella)) ridia true? grazie

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,683

    Predefinito

    Per far ritornare un valore (inclusi true e false), devi usare return.
    Se tenti (come stai facendo) di leggere un valore non ritornato, forse PHP da per "default" FALSE, ma non l'ho mai provato.

    Ciao!

  3. #3
    Guest

    Predefinito

    si ho già provato mettendo return true dopo il for. Il problema è che l'if ridà sempre true.

    edit:

    niente. hai ragione tu ridà di default false. devo gestire meglio dentro l'if. grazie
    Ultima modifica di dreadnaut : 17-02-2012 alle ore 21.28.45 Motivo: usa il tasto Edita -->

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,683

    Predefinito

    Eh beh, è corretto.

    Devi mettere sia true, sia false: ad esempio, una cosa del genere:

    Codice PHP:
    if(mysql_query($query))
    {
    //ok
    mysql_close($db);
    return
    TRUE;
    }
    else
    {
    //errore
    mysql_close($db);
    return
    FALSE;
    }

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •