Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [mysql] perchè l'utente root diventa ODBC?

    Ciao!

    Continuo a studiare con sommo INSUCCESSO mysql... ora sono a questo punto:

    ho un file config.inc.php con il seguente codice:

    <?php
    // parametri del database
    $db_host = "localhost";
    $db_user = "root";
    $db_password = "mia_password";
    $db_name = "database";
    ?>

    ho quindi il file connect.php con il seguente codice:

    <?php

    include("config.inc.php");

    $db = mysql_connect($db_host, $db_user, $db_password)
    or die("Connessione non riuscita: " . mysql_error());

    $select = mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    if ($select) {
    print "ciao";
    }

    mysql_close($db);

    ?>

    che funziona perfettamente. Ora però sto tentando di creare la pagina form.php:


    <form method="post" action="news.php">
    Autore: <input type="text" name="autore">

    Email: <input type="text" name="email">

    Titolo: <input type="text" name="titolo">

    Testo:<textarea cols="8" rows="5" name="testo"></textarea>


    <input type="submit" name="invia" value="Pubblica">


    </form>


    che richiama la pagina news.php:

    <?php

    include("config.inc.php");
    include("connect.inc.php");

    $autore = $_POST['$autore'];
    $email = $_POST['$email'];
    $testo = $_POST['$testo'];
    $titolo = $_POST['$titolo'];
    $data = time();

    connect();

    $query = "INSERT INTO news (titolo, testo, data, autore, mail) VALUES ('$titolo', '$testo', '$data', '$autore', '$email')";

    if (mysql_query($query, $db)) {
    echo "Articolo inserito correttamente";
    } else {
    echo "Errore durante l'inserimento";}

    close();

    ?>

    Nel connect.inc.php ho messo i soliti dati:

    <?php
    function connect() {
    $db = mysql_connect($db_host, $db_user, $db_password)
    or die("Connessione non riuscita: " . mysql_error());

    $select = mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    }

    function close () {
    mysql_close($db);
    }

    ?>


    Però eseguendo lo script mi dà questo errore:

    Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\Programmi\Apache Group\Apache2\htdocs\sql\connect.inc.php on line 3
    Connessione non riuscita: Access denied for user 'ODBC'@'localhost' (using password: NO)


    Da dove salta fuori questo user ODBC ????????? :berto:

  2. #2

  3. #3
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,035
    credo, ma dico credo, che devi passare gli argomenti alla funzione. Forse non sono visibili dall'implementazione della stessa. Una roba così credo:

    Codice PHP:
    function connect($host$user$password) {
       
    $db mysql_connect($host$user$password)
       or die(
    "Connessione non riuscita: " mysql_error());

       
    $select mysql_select_db($db_name$db)
       or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    e richiamandola così:

    Codice PHP:
    connect($db_host$db_user$db_password); 
    fammi sapere.

  4. #4
    niente da fare!

    vabbè farò a meno di usare la funzione, è che volevo vedere se riuscivo ad evitare di scrivermi ogni volta tutto il codice per la connessione al database!

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Hai definito nel file incluso una funzione connect che utilizza dei dati che non vengono passati alla funzione. Per cui, o li dichiari globali (sconsigliato), oppure li passi quando fai la chiamata.
    Ma soprattutto: LA FAI LA CHIAMATA?

    L'utente ODBC è l'utente impostato da windows quando cerca di fare una connessione in automatico la prima volta che lanci una query senza avere fatto la connessione prima

  6. #6
    mmm cosa intendi per "fare la chiamata" ?

    il codice che ho usato è tutto qui nel post...

    in ogni caso senza usare connect() ma usando la classica query funziona tutto benissimo...

  7. #7
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da elysaweb
    mmm cosa intendi per "fare la chiamata" ?
    ...
    Intendevo che se definisci una funzione poi la devi chiamare, altrimenti non viene mai eseguita

  8. #8
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,035
    la chiama... io comunque non capisco come possa chiamarla senza argomenti, quando nell'implementazione della stessa usa tre variabili che non sono dichiarate nello stesso file...

  9. #9
    sì l'ho poi chiamata con gli argomenti come mi avevi suggerito, ma non funziona ugualmente... non so se tu avevi provato e invece funzionava..

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    metti un return alla funzione connect
    codice:
    function connect($host, $db_name, $user, $password) {
       $db = mysql_connect($host, $user, $password)
       or die("Connessione non riuscita: " . mysql_error());
    
       $select = mysql_select_db($db_name, $db)
       or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
    
      return $db;
    }
    e la richiami così
    codice:
    $db = connect(parametri vari);
    poi ci spari su tutte le query che vuoi. Comunque non ha senso fare così... avrebbe senso fare una classe che gestisca la connessione (mah... a chi piace). Se non ritorni la connessione da connect(...), $db fuori dalla funzione non sarà inizializzata a niente, ergo risultati inaspettati dall'esecuzione della query.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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