Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Funzioni e mysql_query

  1. #1

    Funzioni e mysql_query

    Salve a tutti, il problema che ho è molto strano. Quando eseguo mysql_query all'interno della funzione che ho creato, non funziona, ma se provo ad esportare all'esterno il codice, allora non ci sono problemi e la query viene eseguita perfettamente. Di seguito vi riporto l'estratto principale che mi genera errore:

    <?php
    require_once('percorso del file che si occupa di connettersi al db');

    function eliminaReport($idutente)
    {
    mysql_select_db($database_dblinker, $dblinker);
    $query_report = "SELECT * FROM reportbrani WHERE idutente = $idutente";
    $rs_report = mysql_query($query_report, $dblinker) or die(mysql_error());
    $reportArray = mysql_fetch_assoc($rs_report);
    mysql_free_result($rs_report);
    return $reportArray;
    }

    ?>

    HTML vario

    <?php
    $vettore = eliminaReport(50);
    ?>

    Tramite gli echo ho visto che l'errore viene proprio sull'istruzione mysql_query, quindi lo script si blocca e inoltre la mysql_error non ritorna alcun errore. Le istruzioni sono semplici e inoltre se le porto fuori dalla funzione non danno problemi. Qualcuno ha già avuto un problema simile?

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    probabilmente all'interno della funzione non sono "conosciute" le variabili $database_dblinker e $dblinker
    verifica che siano valorizzate altrimenti
    appena dentro la funzione aggiungi
    global $database_dblinker, $dblinker;

  3. #3
    No, sono valorizzate perché sono nel codice incluso nella connessione al database e comunque l'istruzione mysql_select_db($database_dblinker, $dblinker) viene eseguita. Il problema è proprio isolato al comando di query, per questo è strano...

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    e $idutente?
    fai la echo di $query_report e vedi che sia corretta

  5. #5
    Ah, aspetta, ho capito qual'è il problema e cioè proprio quello che dicevi te. È bastato dichiarare global le variabili di connessione al database per risolvere il problema. Prima non le avevo controllate perché la prima istruzione mysql me la eseguiva con successo, quindi non ci ho nemmeno pensato. Il fatto è che me la eseguiva con succcesso perché utilizzava automaticamente dei valori predefiniti e non segnalava errore quando si vedeva passare i parametri vuoti. Credevo che le variabili globali fossero considerate come in altri linguaggi ed è anche per questo che non avevo dubbi. Comunque 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.