Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    13

    Errore selezione al database

    Ho adattato alle mie esigenze l'esempio per la gestione delle news nel corso di PHP. Però ho alcuni problemi:

    1. Quando inserisco il testo dal browser e lo invio al database (Mysql - PhpAdmin), mi ritona il messaggio di errore:
    Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /rootdomain/it/u/s/mio_sito.it/public_html/database_news/save.php on line 33
    Errore nella selezione del database. Verificare i parametri nel file config.inc.php

    Qualcuno sa dirmi che cosa significa? Ho verificato la riga 33 ( mysql_select_db($db_name, $nomedatabase) ed è corretta, visto che in altri file della gestione news viene utilizzata senza errori.

    2. Ho inserito per prova del testo direttamente dal database (anzichè tramite browser), ma nella visualizzazione non tiene conto degli "a capo" e alcune parole con accenti e apostrofi sono visualizzatae con caratteri strani.
    Ringrazio chi avrà la pazienza di darmi gli opportuni consigli, tenendo conto che non sono molto preparato in fatto di codice.
    gil58

  2. #2
    mysql_select_db($nome_database, $identificativo_connessione )

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    13

    Ancora tutto uguale

    Scusa, ma per identificativo_connessione intendi il nome del database? Quello è inserito correttamente, ma l'errore rimane.
    gil58

  4. #4

    Re: Ancora tutto uguale

    Originariamente inviato da gilfor
    Scusa, ma per identificativo_connessione intendi il nome del database? Quello è inserito correttamente, ma l'errore rimane.
    l'identificativo della connessione e' quello che ottieni da mysql_connect()

    oppure omettilo e metti solo il database da usare.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    13

    piccolo passo in avanti

    Grazie Piero per l'aiuto e per la pazienza. Adesso non mi segnala più il messaggio "Warning", ma solo l'errore nella selezione del database. Questo è il codice che sto utilizzando:

    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($uspergocrema)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
    $query = "INSERT INTO news (titolo, testo, data, autore, mail) VALUES ('$titolo', '$testo', '$data', '$autore', '$mail')";
    if (mysql_query($query, $uspergocrema))
    echo "L'articolo è stato inserito correttamente";
    else
    echo "Errore durante l'inserimento";

    dove "uspergocrema" è il nome del database, anche se nel file config è inserito come "uspergocrema_it". Ho comunque provato aggiungendo "_it", ma l'errore di selezione rimane.
    gil58

  6. #6
    mysql_select_db($uspergocrema) or die (mysql_error());

    evidentemente sara' errato il nome del database. Con il controllo degli errori ti dira' di cosa si tratta, controlla anche come hai valorizzato la variabile:

    echo $uspergocrema;

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    13

    Ultimo tentativo

    Scusa Piero se abuso della tua cortesia. Ti chiedo un ultimo sforzo, poi se non va, lascio perdere e mi ritiro nella mia ignoranza.
    Il php delle news che sto appunto tentando di utilizzare è composto da più file (config, insert, save, view, result, ecc.). Quello che segue è il codice del file "view", che mi visualizza nel browser l'articolo selezionato. Come vedi anche qui c'è mysql_select_db, uguale a quello problematico, ma in questo caso seleziona correttamente il database (quindi il nome del db è corretto), visto che pesca e mi visualizza il testo sul browser:

    </style><? include("top_foot.inc.php");
    include("config.inc.php");
    top();
    $uspergocrema = mysql_connect($db_host, $db_user, $db_password);
    $id=$_GET['id'];
    if ($uspergocrema == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $uspergocrema)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
    $query = "SELECT titolo, testo, data, autore, mail FROM news WHERE id='$id'";
    $result = mysql_query($query, $uspergocrema);
    $row = mysql_fetch_array($result);
    $data = date("j/n/y", $row[data]);
    echo "$row[titolo]

    ";
    echo "$row[testo]

    ";
    if ($row[mail] != "")
    echo "$data, <a href=mailto:$row[mail]>$row[autore]</a>
    ";
    else
    echo "$data, $row[autore]
    ";
    echo "
    <a href=index.php>Torna alla pagina iniziale</a>
    ";
    echo "<a href=all.php>Visualizza tutti gli articoli</a>
    ";
    mysql_close($uspergocrema);
    foot();
    ?>

    Questo, invece, è la parte di codice utilizzato per il file "save", che mi dovrebbe consentire di inserire i testi direttamente dal browser e poi inviarli al database, che però non funziona. Mi sembra proprio strano. Ho seguito il tuo suggerimento, e mi segnala come errore che il non è stato selezionato il database.

    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($uspergocrema) or die (mysql_error());
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
    $query = "INSERT INTO news (titolo, testo, data, autore, mail) VALUES ('$titolo', '$testo', '$data', '$autore', '$mail')";
    if (mysql_query($query, $uspergocrema))
    echo "L'articolo è stato inserito correttamente";
    else
    echo "Errore durante l'inserimento";

    Grazie ancora.
    gil58

  8. #8
    stampa la variabile che utilizzi in mysql_select_db.... mi sa che e' vuota.

    metti il codice tra tag [ php] oppure [ code] per dare miglior leggibilita' al post, grazie.


    Codice PHP:
    <?php
    $db 
    mysql_connect($db_host$db_user$db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php");

    // $uspergocrema deve contenere il nome del database
    mysql_select_db($uspergocrema) or die (mysql_error());

    // or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

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

    if (
    mysql_query($query))
               echo 
    "L'articolo è stato inserito correttamente";
                       else
                       echo 
    "Errore durante l'inserimento "mysql_error();

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    13

    Devo arrendermi?

    Ho inserito il codice che mi hai indicato, ma ricevo come risposta: "No Database Selected". Quello che proprio non riesco a capire è perché con l'altro file dello stesso progetto news (view), dove la riga di selezione al database è identica (mysql_select_db($db_name, $uspergocrema)), si connette e lo seleziona regolarmente, tant'è che mi ritorna corretto il risultato della richiesta (il testo dell'articolo scelto).
    Ho provato anche a togliere nella riga: mysql_select_db($uspergocrema) or die (mysql_error()); la parte della segnalazione di errore, e poi provando mi ha visualizzato errore di sintassi della riga successiva: $query = "INSERT INTO news (titolo, testo, data, autore, mail) VALUES ('$titolo', '$testo', '$data', '$autore', '$mail')"; che mi sembra invece corretta.
    Mi sembra una scatola cinese e vorrei lasciar perdere, ma sono anche testardo, oltre che analfabeta di php.
    gil58

  10. #10

    Re: Devo arrendermi?

    Originariamente inviato da gilfor
    ma sono anche testardo...
    aggiungi pure "tosto"....

    ti ho chiesto 2-3 volte di stampare la variabile $uspergocrema ... manco per 'na palla...

    mettiamola cosi': come si chiama il tuo database?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.