Visualizzazione risultati 1 fino 26 di 26

Discussione: Problema mysql + php

  1. #1
    Guest

    Predefinito Problema mysql + php

    Codice PHP:
    if(mysql_connect($mysql_hostname, $mysql_username, $mysql_password)) {
    echo
    "connect";
    } else {
    echo
    "not connect";
    }


    Perché non va?
    Ultima modifica di karl94 : 13-06-2011 alle ore 22.22.31 Motivo: Formattazione del codice

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Non va cosa? Visualizzi un errore? Quale? Che valori ci sono nelle diverse variabili presenti nello spezzone di codice da te inserito?

  3. #3
    Guest

    Predefinito

    inserendo parametri errati mi dice che sono connesso.

  4. #4
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Quali sarebbero i parametri errati? La password? Su AlterVista viene ignorata.

  5. #5
    Guest

    Predefinito

    la sto provando in locale i parametri corretti sarebbero:

    Codice:
    "localhost", "root", ""
    e si connette.

    se non metto lo username si connette comunque.

    se modifico localhost, togliendo una lettera mi da questo errore
    Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 61 in /Users/francesco/Sites/blog/install.php on line 9
    dovrebbe funzionare soltanto con
    Codice:
    "localhost", "root", ""
    come faccio?
    Ultima modifica di karl94 : 13-06-2011 alle ore 23.00.45 Motivo: Formattazione del messaggio di errore

  6. #6
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Non capisco, qual'è il problema?

  7. #7
    Guest

    Predefinito

    che si connette anche quando non dovrebbe connettersi!

  8. #8
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Dipende probabilmente da come è stato configurato.

  9. #9
    Guest

    Predefinito

    configurato?

  10. #10
    Guest

    Predefinito

    Codice PHP:
    if (($res = mysql_connect($mysql_hostname, $mysql_username, $mysql_password)) && mysql_select_db($mysql_database_name, $res))
    {
    die (
    'Connect');
    }
    else
    {
    die (
    'Error: ' . mysql_error());
    }
    $mysql_database_name dovrà avere il nome del DB da selezionare.

    E' bene, prima di postare, di provare un minimo di debug, soprattutto se PHP ci mette a disposizione delle funzioni native per poterlo fare.


  11. #11
    Guest

    Predefinito

    ancora non va!!!!!

    Ti posto tutto il codice, provalo in locale e vedi quali errori riscontri:
    Codice PHP:
    <?php
    switch($_GET['submit']) {
    case
    'Try to connect!':
    $mysql_hostname = $_GET['mysql_hostname'];
    $mysql_username = $_GET['mysql_username'];
    $mysql_password = $_GET['mysql_password'];
    $database_name = $_GET['mysql_database'];
    $table_prefix = $_GET['table_prefix'];
    $link_identifier = mysql_connect($mysql_hostname, $mysql_username, $mysql_password);
    if ((
    $res = mysql_connect($mysql_hostname, $mysql_username, $mysql_password)) && mysql_select_db($database_name, $res)) {
    die (
    'Connect');
    } else {
    die (
    'Error: ' . mysql_error());
    }
    break;
    }
    ?>
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <?php if(!isset($_GET['step'])) { ?><title>Set it up in 5 minutes</title><?php } ?>
    <?php
    if(isset($_GET['step']) == "1") { ?><title>1# Step: Mysql parameters</title><?php } ?>
    <?php
    if(isset($_GET['step']) == "2") { ?><title>2# Step: Admin profile</title><?php } ?>
    <?php
    if(isset($_GET['step']) == "3") { ?><title>3# Step: Site Info</title><?php } ?>
    </head>

    <body>
    <?php if(!isset($_GET['step'])) { ?>
    <h1>Install your blog!</h1>
    <p>Thank you for having choosen our platform. Before starting with the installation be sure to have mysql information.</p>
    <a href="?step=1"><input type="button" value="Let's Start?" /></a>
    <?php } ?>
    <?php
    if(isset($_GET['step']) == 1) { ?>
    <h1>1<sup>st</sup> Step</h1>
    <form action="<?php $_SERVER['PHP_SELF']; ?>" method="get">
    <table width="auto" border="0" cellspacing="0" cellpadding="5">
    <tr>
    <td><label for="mysql_hostname">Mysql Hostname</label></td>
    <td><input type="text" name="mysql_hostname" value="localhost" /></td>
    </tr>
    <tr>
    <td><label for="mysql_username">Mysql Username</label></td>
    <td><input type="text" name="mysql_username" /></td>
    </tr>
    <tr>
    <td><label for="mysql_password">Mysql Password</label></td>
    <td><input type="password" name="mysql_password" /></td>
    </tr>
    <tr>
    <td><label for="mysql_database">Database Name</label></td>
    <td><input type="text" name="database_name" /></td>
    </tr>
    <tr>
    <td><label for="table_prefix">Table Prefix</label></td>
    <td><input type="text" name="table_prefix" value="blog_" /></td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td><input type="submit" name="submit" value="Try to connect!" /><input type="hidden" name="step" value="1" /></td>
    </tr>
    </table>
    </form>
    <?php } ?>
    </body>
    </html>
    Ultima modifica di alemoppo : 14-06-2011 alle ore 14.22.54 Motivo: + tag [php]

  12. #12
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,761

    Predefinito

    Scusami, ma il codice è un po "strampalato"

    ...mi spiego:

    -fai uno switch con una sola condizione (perché non usare un if?)
    -tutti i parametri $_GET[] andrebbero verificati tramite la isset().
    -
    Codice PHP:
    if(isset($_GET['step']) == "1")...
    if(isset(
    $_GET['step']) == "2")...
    if(isset(
    $_GET['step']) == "3")...
    isset() restituisce o true, o false.

    -Come suggerito sopra, se hai problemi di connessione, prova a fare l'echo delle varie variabili che contengono i dati di connessione.
    -leggendo il codice velocissimamente (quindi, potrei sbagliarmi), secondo me non ha senso connettersi al database per poi fare comunque un die() subito dopo (forse per verificare la connessione a scopo di debug?)

    Ciao!
    Ultima modifica di alemoppo : 14-06-2011 alle ore 14.38.50

  13. #13
    Guest

    Predefinito

    Lo switch ha un senso perché il codice non è completo, l'isset è a scopo cautelativo.
    Non giudicare il mio modo di codare e cerca di darmi informazioni utili.

    Ho provato a fare gli echo dei parametri ma ho sempre gli stessi errori.

    Per quanto riguarda if() della connessione servirà per creare un file di impostazioni.

    Hai qualcosa da suggerirmi del perché non si connette a mysql?

    Se non hai niente da dire sei pregato di non rispondere :)

  14. #14
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,761

    Predefinito

    Ovviamente non volevo "offendere"... anzi, ho cercato di evidenziare eventuali errori/imprecisioni.

    Infatti non ho capito il tuo problema:
    Hai qualcosa da suggerirmi del perché non si connette a mysql?
    ma scusa, il problema non era il contrario?:
    che si connette anche quando non dovrebbe connettersi!
    Per questo, visto che non ho capito il tuo problema, ho cercato di evidenziare gli (eventuali) errori.

    Ho provato a fare gli echo dei parametri ma ho sempre gli stessi errori.
    Le variabili sono settare correttamente? Di che errori stai parlando?

    Ciao!
    Ultima modifica di alemoppo : 14-06-2011 alle ore 15.06.48

  15. #15
    Guest

    Predefinito

    Cerco di spiegarmi nuovamente.

    I parametri corretti sarebbero:

    1) hostname: localhost
    2) username: root
    3) senza password
    4) database: db

    Il database esiste.

    Inserendo questi dati mi da l'errore: No database selected.

    Il problema sta nel codice secondo me, perché se metto in un'altra pagina solo la parte di connessione funziona.

    Il problema è, dov'è l'errore?

  16. #16
    Guest

    Predefinito

    memedismo, non ti pare di mancare di rispetto un po' ad una persona che sta cercando di aiutarti, gratuitamente e pubblicamente, e soprattutto un Moderatore del forum?

    Noi non possiamo sapere qual è il codice completo se tu non lo scrivi e NOI lavoriamo su CIO' che VEDIAMO, non che POSSIAMO IMMAGINARE.

    Il mio codice era per testare la connessione dato che mi scrivi che si connette anche quando non dovrebbe. Ecco il perché del die(). Ovviamente, una volta finito il debug dello script, si toglie ciò che ne blocca il funzionamento od è obsoleto.

    Ora, IN BASE al(la parte di) codice che tu hai scritto nel quartultimo post, è sbagliato e non hai controllato bene prima di testarlo, perché hai scritto 2 volte la stessa parte di codice. Quindi modifica così il case del primo switch:

    Codice PHP:
    case 'Try to connect!':
    $mysql_hostname = $_GET['mysql_hostname'];
    $mysql_username = $_GET['mysql_username'];
    $mysql_password = $_GET['mysql_password'];
    $database_name = $_GET['mysql_database'];
    $table_prefix = $_GET['table_prefix'];
    if ((
    $link_identifier = mysql_connect($mysql_hostname, $mysql_username, $mysql_password)) && mysql_select_db($database_name, $link_identifier)) {
    echo
    'Connect'; # Ho rimosso il die per permettere il proseguimento dello script
    } else {
    die (
    'Error: ' . mysql_error());
    }
    break;

  17. #17
    Guest

    Predefinito

    Se mi si dice che il mio codice è "strampalato" se permetti mi altero.

    Comunque non va nemmeno con queste correzioni.

  18. #18
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Exclamation

    Citazione Originalmente inviato da memedesimo Visualizza messaggio
    Se non hai niente da dire sei pregato di non rispondere :)
    Caro il mio neofita, qualcosa te l'ha detta, e ti ha dato un consiglio.
    Strampalato ovviamente era per scherzare, un modo più simpatico per dire errato.
    Poi ricorda che devi fare una cosa del genere:
    1) hostname: localhost
    2) username: memedesimo
    3) password:
    4) database: my_memedesimo

  19. #19
    Guest

    Predefinito

    Caro il mio utente, lo sto provando in locale :)

  20. #20
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,761

    Predefinito

    Gente, riprendiamo la calma!.
    Lo "strampalato" ovviamente era ironico (tra virgolette e con la faccina).

    Per curiosità, potresti provare questo?:
    Codice PHP:
    <?php
    //...
    if($link_identifier = mysql_connect($mysql_hostname, $mysql_username, $mysql_password))
    echo
    'Connect';
    else
    die (
    'Error: '.mysql_error());

    if(
    mysql_select_db($database_name, $link_identifier))
    echo
    'Db selezionato correttamente';
    else
    die (
    'Errore su selezione database '.$database_name.': '.mysql_error());
    //...
    ?>
    Ciao!
    Ultima modifica di alemoppo : 14-06-2011 alle ore 20.49.41

  21. #21
    Guest

    Predefinito

    se cambio localhost con "localhos" mi da questo errore:
    Codice:
    Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 61 in /Users/francesco/Sites/blog/install.php on line 9
    Error: Lost connection to MySQL server at 'reading initial communication packet', system error: 61
    se metto i dati corretti mi da quest'altro errore:
    Codice:
    ConnectErrore su selezione database : No database selected
    se metto i dati sbagliati lasciando localhost mi da questo errore:
    Codice:
    ConnectErrore su selezione database : No database selected
    Ultima modifica di alemoppo : 14-06-2011 alle ore 21.03.29 Motivo: +aggiunta [code] per errori

  22. #22
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,761

    Predefinito

    Credo che come "$mysql_hostname", localhost sia corretto.
    Sembra, quindi, che non gli piaccia il nome del database, ovvero "$database_name".

    Sei sicuro che il database si chiami in quel modo?

    perché se metto in un'altra pagina solo la parte di connessione funziona.
    Funziona anche la mysql_select_db() ?

    Ciao!

    EDIT:
    Hai provato con questa riga? (ho editato subito dopo...).
    Codice PHP:
    die ('Errore su selezione database '.$database_name.': '.mysql_error());
    Se lo usi così, allora:

    ConnectErrore su selezione database : No database selected
    Non va bene: dopo la parola "database", dovrebbe dare il nome, che invece è vuoto...
    Ultima modifica di alemoppo : 14-06-2011 alle ore 21.02.42

  23. #23
    Guest

    Predefinito

    Ora finalmente ho capito dove sbagliavo!

    Richiamavo la stringa db sbagliata. $_GET['mysql_database'] doveva essere $_GET['database_name']

    ora funziona tutto correttamente tranne il solito errore del cambio della stringa localhost in qualsiasi altro tipo che mi da sempre lo stesso tipo di errore
    Codice:
    Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 61 in /Users/francesco/Sites/blog/install.php on line 9
    Error: Lost connection to MySQL server at 'reading initial communication packet', system error: 61
    Per quale motivo? spiegazioni?

    Grazie alemoppo che mi hai illuminato col tuo spezzone di codice.
    Ultima modifica di alemoppo : 14-06-2011 alle ore 22.15.51 Motivo: +[code] per messaggio errore

  24. #24
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,761

    Predefinito

    Scusami, ma non ho capito: se funziona con "localhost", perché vuoi scriverci "localhos" ?.. cioè, il tuo "host" locale, è localhost, no?

    Ciao!

  25. #25
    Guest

    Predefinito

    vabbè hai ragione, puoi chiudere problema risolto.

  26. #26
    Guest

    Predefinito

    Vorrebbe capire come risolvere il problema nel caso un utente scriva un host al quale non è possibile connettersi.

    Prova a vedere se riesci a risolvere così: Error: Lost connection to MySQL server at 'reading initial communication packet', system error: 61.


Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •