Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Domanda funzione

  1. #1
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080

    Domanda funzione

    Ho un file php dove in cima ho messo:
    Codice PHP:
    include "../conn/conndbmysql.php"
    Ho fatto il mio codice e tutto funziona.
    Cercando di semplificarlo ho creato una funzione:

    Codice PHP:
    function aggiornadb ($line_num$filenome){
        include 
    "../conn/conndbmysql.php";
        
    $logdbagg ="";
        
    $qwt "UPDATE pippotbl set righecar=? WHERE nomefile=?";
        
    $result $connessione->prepare($qwt);
        
    $par = array($line_num,$filenome);
        
    $result->bind_param('is'$par[0], $par[1]);
        
    $operazione SqlDebug($qwt$par);    
        if(!
    $result->execute()) {
        
    $logdbagg $result->error;
        } else {
        
    $logdbagg "DB AGGIORNATO";
        }   
        return 
    $logdbagg;

    Come mai se in cima alla funzione NON rimetto la connessione al db mi da errore?
    Essendo la funzione dentro la pagina non dovrebbe valere quello che c'è nell'header?

    Grazie

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Perché la variabile che contiene la connessione al db non è una variabile globale, quindi all'interno della funzione non è visibile, se invece avessi una cosa così funzionerebbe
    Codice PHP:
    include "../conn/conndbmysql.php";

    // eventuale altro codice

    function aggiornadb ($conn$line_num$filenome)
    {
        
    // Il contenuto che hai ora senza l'include
        
        // qui dentro userai $conn->prepare(...), puoi anche chiamarla di nuovo $connessione
        // io ho messo $conn solo per farti capire che è una nuova variabile, interna alla funzione
        // non è la variabile $connessione definita in conndbmysql.php
    }

    // eventuale altro codice

    // Chiamata alla funzione aggiornadb passando anche la connessione come parametro
    aggiornadb($connessione$line_num$filenome); 

  3. #3
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    Grazie!
    Credevo che essendo "sopra" risultazze globale!

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Puoi fare una prova semplicissima così per rendertene conto
    Codice PHP:
    $var 42;

    function 
    test()
    {
        echo 
    $var;
    }

    test(); 
    Vedrai che ti dice che $var non è definita.

  5. #5
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    function test()
    {
    global $var; //cosi risolvi se ricordo bene, ma non è una buona pratica.
    echo
    $var;
    }

Tag per questa discussione

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.