• User Attivo

    Variabili fuori funzione

    Salve,

    io ho un file db.php con i parametri di connessione

    dove la connessione e memorizzata nella variabile $db

    .. ho un altro file con le funzioni "funzioni.php" dovela funzione esegue una query..

    entrambi i file vengono nclus con INCLUDE dela"pagina.php"

    es:
    <?php

    include("db.php");
    include("funzioni.php);

    funzionequery();
    ?>

    Ora non riesce a leggere la query, nfatti da come errore "mysql_query" come mai?,
    non so se devospecificare la variabile di connessione $db : "funzionequery($db);" visto che le funzioni leggono le variabili per posizione e non per nome....


  • ModSenior

    Ciao BOES,
    non ho capito cosa intendi, se magari posti il codice completo e l'errore così com'è si può cercare di capire qual'è il problema.


  • User Attivo

    Posto i codici dei 3 file,
    file db.php per la connessione:
    <?php

    $db = mysql_connect ('localhost','root', '') or die
    ('errore nella connessione al database');
    //selezione db
    $sel = mysql_select_db('musica', $db) or die (mysql_error($db));

    ?>

    FUNZIONI.PHP:

    <?php
    function mia_funzione ()
    {
    $query="SELECT
    nome_mc
    FROM
    mc
    WHERE
    id_mc='$id';
    ";
    $ris=mysql_query($query,$db)or die (mysql_error($db));
    $dati=mysql_fetch_array($ris);
    extract($dati);
    return $nome_mc;
    }
    ?>

    PAGINA.PHP:

    <?php
    include("../random/db.php");
    include("funzioni.php");
    $id=1;
    mia_funzione($id,$db,$sel);
    echo $nome_mc;
    ?>

    Il codice e naturalmente più semplificato della reale funzione che voglio fare, ma e per capire cosa ce che non va.

    😄

    L'errore che mi da è:
    pagina bianca, e come se non funzionasse il RETURN perche se stampo la variabile dentro la funzione me lo da.


  • ModSenior

    Fai attenzione alle maiuscole e alla punteggiatura nei tuoi messaggi...
    La funzione viene richiamata utilizzando 3 parametri, ma è definita senza parametri pertanto utilizza delle variabili inesistenti.
    Ti conviene, se possibile, abilitare la visualizzazione per qualsiasi tipo di errore, visualizzare dei notice in questo caso ti avrebbe fatto capire immediatamente qual'era il problema.


  • User Attivo

    E si quello lo notato subito dopo, e poi per far uscire la variabile fuori dovevo stabilire

    global $nome_mc;

    prima che fosse creato $nome_mc


  • ModSenior

    Fai attenzione alla punteggiatura e alle maiuscole, ti segnalo le nostre regole:

    3.1. I titoli ed i testi devono essere scritti in italiano corretto, sia grammaticamente che ortograficamente; postare frasi con errori evidenti è sempre una forma di NON rispetto per chi legge.

    3.2. Iniziare i messaggi con la maiuscola e terminare con un punto.

    3.3. Lasciare spazi dopo la punteggiatura.

    3.4. Non sono consentiti termini abbreviativi da sms come: nn_mlt_cn_qst_sn_xkè_ke_x_cmq+*_ ***ecc..
    Oltre ad una pessima capacità comunicativa, tali sigle così come gli errori di battitura, NON sono recepiti dai bot dei motori di ricerca, vanificando un'adeguata indicizzazione della pagina.
    Il Moderatore editerà a sua discrezione testi ritenuti sgrammaticati o in stile da telefonini.


  • User Attivo

    :ciauz:@Thedarkita said:

    Fai attenzione alla punteggiatura e alle maiuscole, ti segnalo le nostre regole:

    E dove avrei sbagliato?


  • ModSenior

    Ho dovuto correggere gli ultimi 3 messaggi per adeguarli al nostro regolamento, infatti come puoi vedere tu stesso sono stati modificati da me.
    Se possibile fai più attenzione quando scrivi i messaggi, per rispettare le norme ortografiche vigenti sul forum GT.