Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: php-->sql server

  1. #1

    php-->sql server

    Ciao ragazzi ho un problema per interfacciarmi con il php sul database sql server..in poche parole non mi fa entrare!!!!Nonostante ho tutti i permessi!!!!
    Cosa mi consigliate di fare?!?!
    Ecco il codice(le parti commentate certe sn obsolete altre erano prove):

    <?php

    class mssql {

    // Variabili
    /*var $DB_SERVER;
    var $DB_NAME;
    var $DB_ID;
    var $DB_PWD;*/

    /*function mssql() {
    $this->DB_SERVER = "PC";
    $this->DB_NAME = "Gongolo";
    $this->DB_ID = "Utente";
    $this->DB_PWD = "";
    $this->connDb();
    }*/

    //connessione al db SQL
    function connDb(){
    /*echo $this->DB_SERVER;
    echo $this->DB_NAME;
    echo $this->DB_ID;
    echo $this->DB_PWD;*/
    $con = mssql_connect ("PC", "Utente", "");
    mssql_select_db ("Gongolo", $con);
    }

    //chiudi connessione
    //function closeDb(){
    //mssql_close();
    //}


    // esegue query

    function runQuery($sql = "") {
    echo 'a';
    //$a = connDb();
    $rs = mssql_query($sql);
    $riga = mssql_fetch_object($rs);
    return($riga);
    }


    }
    ?>

    Però mi da questo errore:

    Warning: mssql_query() [function.mssql-query]: message: Impossibile eseguire l'accesso per l'utente 'PC\IUSR_PC'. (severity 14) in C:\Inetpub\wwwroot\class\mssql.php on line 40

    Warning: mssql_query() [function.mssql-query]: Unable to connect to server: (null) in C:\Inetpub\wwwroot\class\mssql.php on line 40

    Warning: mssql_query() [function.mssql-query]: A link to the server could not be established in C:\Inetpub\wwwroot\class\mssql.php on line 40

    Warning: mssql_fetch_object(): supplied argument is not a valid MS SQL-result resource in C:\Inetpub\wwwroot\class\mssql.php on line 41

    AIUTATEMI..GRAZIE!!!!
    --Giuseppe--

  2. #2
    Non mi intendo di SQL Server ma sicuramente l'errore sta qui:


    function connDb()
    {
    $con = mssql_connect ("PC", "Utente", "");
    mssql_select_db ("Gongolo", $con);
    }


    Il problema è che (a quel benedetto MANUALE KE NON VIENE MAI LETTO) quando usi una funzione, tutte le variabili utilizzate al suo interno hanno "scope" locale, ossia quando la funziona termina, esse vengono distrutte, quindi in tal caso tu apri la connessione al DB ma appena la funzione termina essa viene chiusa.
    Infatti quando esegui:

    function runQuery($sql = "")
    {
    $rs = mssql_query($sql);
    $riga = mssql_fetch_object($rs);
    return($riga);
    }

    ti dà errore perché non è aperta la connessione al DB.

  3. #3
    Quindi potrei risolvere mettendo la connessione dentro la funzione runQuery??!!

    cosi:
    function runQuery($sql = "")
    {
    $con = mssql_connect ("PC", "Utente", "");
    mssql_select_db ("Gongolo", $con);
    $rs = mssql_query($sql);
    $riga = mssql_fetch_object($rs);
    return($riga);
    }

    come ti sembra?!?!

    Grazie mille.
    --Giuseppe--

  4. #4
    Così penso funzioni, il problema però è ke a questo punto viene meno il concetto di classe. Quindi o usi la classe e fai le cose per bene, ossia usi i metodi per aprire la connessione, eseguire una query, etc....... oppure non la usare proprio. In tal caso neanche la funzione

    function runQuery($sql = "")
    {
    $con = mssql_connect ("PC", "Utente", "");
    mssql_select_db ("Gongolo", $con);
    $rs = mssql_query($sql);
    $riga = mssql_fetch_object($rs);
    return($riga);
    }

    va bene: Ke senso ha se in una pagina devi eseguire 10 query; apri 10 volte la connessione?

    Quando ti serve usi mssql_connect ad inizio pagina.php e la chiudi a fine pagina.

    Ciao.

  5. #5
    Perfetto!!Farò come dici..intanto è spuntato un altro problemino..ecco il codice....

    index:

    <?php
    require_once ("class/class.php");
    $mssql = new mssql();
    $sql = "EXEC SP_PROGR_DITTA_1";
    $oggetto = $mssql->runquery($sql);
    print ($oggetto);
    $mssql->closeDb();
    ?>

    mssql:

    <?php

    class mssql {

    //connessione al db SQL
    function connDb(){
    $con = mssql_connect ("PC", "Utente", "Utente");
    mssql_select_db ("Gongolo", $con);
    }

    //chiudi connessione
    function closeDb(){
    mssql_close();
    }

    // esegue query
    function runQuery($sql = "") {
    $con = mssql_connect ("PC", "Utente", "Utente");
    mssql_select_db ("Gongolo", $con);
    echo $sql;
    $rs = mssql_query($sql);
    echo $rs;
    $riga = mssql_fetch_object($rs);
    return ($riga);
    }

    }
    ?>

    Il problema sta in print ($oggetto..non stampa nulla..e mi da questo errore..

    EXEC SP_PROGR_DITTA_11
    Warning: mssql_fetch_object(): supplied argument is not a valid MS SQL-result resource in C:\Inetpub\wwwroot\class\mssql.php on line 23
    Error in my_thread_global_end(): 1 threads didn't exit
    --Giuseppe--

  6. #6
    Penso ci sia qualcosa qui che non va:

    function runQuery($sql = "")
    {
    $con = mssql_connect ("PC", "Utente", "Utente");
    mssql_select_db ("Gongolo", $con);
    echo $sql;
    $rs = mssql_query($sql);
    echo $rs;
    $riga = mssql_fetch_object($rs);
    return ($riga);
    }

    Prova a scrivere

    function runQuery($sql = "")
    {
    $con = mssql_connect ("PC", "Utente", "Utente")
    or die("Impossibile stabilire una connessione");

    mssql_select_db ("Gongolo", $con);

    $rs = mssql_query($sql, $con) or die("Errore nell'eseguire la query");

    $riga = mssql_fetch_object($rs);
    return ($riga);
    }


    Prova a controllare anche se il nome del DB è esatto.

  7. #7
    Mi stampa il seguente errore:

    Warning: mssql_fetch_object(): supplied argument is not a valid MS SQL-result resource in C:\Inetpub\wwwroot\class\mssql.php on line 30
    --Giuseppe--

  8. #8
    Mi sta venendo un dubbio. Prova a non usare la classe ma esegui le operazioni:

    $con = mssql_connect ("PC", "Utente", "Utente")
    or die("Impossibile stabilire una connessione");

    mssql_select_db ("Gongolo", $con);

    $rs = mssql_query($sql, $con) or die("Errore nell'eseguire la query");

    $riga = mssql_fetch_object($rs);
    print($riga);


    direttamente nella tua pagina .php

  9. #9
    nn ho capito....scusa....
    --Giuseppe--

  10. #10
    <?php
    require_once ("class/class.php");
    $mssql = new mssql();
    $sql = "SELECT nome FROM Tabella1 WHERE cap = '97019'";
    $oggetto = $mssql->runquery($sql);
    print($oggetto);
    $mssql->closeDb();
    ?>


    <?php
    class mssql {

    //chiudi connessione
    function closeDb(){
    mssql_close();
    }

    // esegue query
    function runQuery($sql = "") {
    $con = mssql_connect ("PC", "Utente", "Utente")
    or die ("Impossibile stabilire una connessione");
    mssql_select_db ("Gongolo", $con);
    $rs = mssql_query($sql, $con) or die ("Errore nell'eseguire la query");
    $riga = mssql_fetch_object($rs);
    return ($riga);
    }}
    ?>

    adesso mi da questo errore:
    Warning: mssql_query() [function.mssql-query]: message: L'autorizzazione SELECT è stata negata per l'oggetto 'Tabella1', database 'Gongolo', proprietario 'Utente'. (severity 14) in C:\Inetpub\wwwroot\class\mssql.php on line 22

    Warning: mssql_query() [function.mssql-query]: Query failed in C:\Inetpub\wwwroot\class\mssql.php on line 22
    Errore nell'eseguire la queryError
    --Giuseppe--

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 © 2026 vBulletin Solutions, Inc. All rights reserved.