Visualizzazione risultati 1 fino 4 di 4

Discussione: connessione al db si blocca

  1. #1
    Guest

    Predefinito connessione al db si blocca

    salve. sto svolgendo dei test in locale. con un script ma l'installer.php ha un piccolo problema.

    Codice PHP:
    $domain = str_replace( "www.", "", $_SERVER['HTTP_HOST'] );
    require_once(
    "../conf.inc.php" );
    @
    mysql_connect( @$mysql_hostname, @$mysql_user, @$mysql_password );
    if ( @
    mysql_select_db( @$mysql_database ) )
    {
    $pw = mysql_fetch_array( @mysql_query( @"SELECT value FROM ".@$mysql_prefix."system_values WHERE name = 'admin password' LIMIT 1" ) )[0];
    if ( !empty(
    $pw ) && $_GET['state'] != "post" )
    {
    exit(
    "Script already installed" );
    }
    }
    si blocca alla riga 23 che è questo qui

    Codice PHP:
    $pw = mysql_fetch_array( @mysql_query( @"SELECT value FROM ".@$mysql_prefix."system_values WHERE name = 'admin password' LIMIT 1" ) )[0];
    qualcuno mi riesca a dare una mano? grazie mille a tutti !

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Togli gli '@' dal codice, altrimenti nascondi eventuali errori. Per avere più dettagli, puoi anche aggiungere in cima al tuo script una chiamata a
    Codice PHP:
    error_reporting(E_ALL);

  3. #3
    Guest

    Predefinito

    ho fatto come dici.. ma mi restituisce questo!

    Parse error: syntax error, unexpected '[' in /membri2/utente/scripts/admin/installer.php on line 25

    comunque ho notato che tutti i file hanno quelle @. e se vado su admin/index.php mi da errore per una @ di troppo.. quindi mi chiedo se non sarebbe meglio toglierle tutte

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Riempire il codice di @ è sempre una pessima idea.

    Ad occhio stai cercando di accedere al risultato di un a funzione come se fosse un array. Magari è anche un array, ma quella sintassi è stata aggiunta a php solo di recente. Nelle versioni più vecchie devi passare per una variabile temporanea:

    Codice PHP:
    $risultato = mysql_fetch_array( mysql_query( "SELECT value FROM ".$mysql_prefix."system_values WHERE name = 'admin password' LIMIT 1" ) ) ;
    $pw = $risultato[0];

Regole di scrittura

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