Visualizzazione risultati 1 fino 7 di 7

Discussione: Altersito: Fatal error: Uncaught Error: Call to undefined function mysql_connect()

  1. #1
    extremelotleoni non è connesso Utente AlterBlog
    Data registrazione
    19-11-2019
    Messaggi
    3

    Predefinito Altersito: Fatal error: Uncaught Error: Call to undefined function mysql_connect()

    Salve a tutti,
    ho fatto una ricerca sul forum prima di aprire questo Thread, ma la maggior parte delle volte il problema si è verificato con un blog e andava aggiornato il wordpress oppure le risposte per la soluzione le ho verificate e non mi hanno risolto il problema.

    Errore

    Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /membri/extremelotleoni/granconsiglio.php:10 Stack trace: #0 {main} thrown in /membri/extremelotleoni/granconsiglio.php on line 10

    Indicazioni: il database è attivo e ho già una tabella all'interno.
    PHP di default dall'installazione

    Lo stesso script di accesso al database lo uso normalmente su un altro sito altervista e funziona.

    Immagino che ci sia un qualche problema con le impostazioni, ma davvero da due giorni non riesco a capire quale.

    Codice PHP:
    <?php
    $DB_host
    = 'localhost';
    $DB_user = 'extremelotleoni';
    $DB_password = '';
    $DB_name = 'my_extremelotleoni';

    $link = mysql_connect($DB_host, $DB_user, $DB_password);
    if (!
    $link) {
    die (
    'Non riesco a connettermi: ' . mysql_error());
    }

    $db_selected = mysql_select_db($DB_name, $link);
    if (!
    $db_selected) {
    die (
    "Errore nella selezione del database: " . mysql_error());
    }

    if(
    $_POST) {
    effettua_login();
    } else {
    mostra_form();
    }

    function
    mostra_form()
    {
    // mostro un eventuale messaggio
    if(isset($_GET['msg'])) {
    echo
    '<b>'.htmlentities($_GET['msg']).'</b><br /><br />';
    }

    ?>
    Grazie a chiunque vorrà darmi una mano.

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

    Predefinito

    Le funzioni mysql_* (quindi la mysql_connect, mysql_select_db, mysql_error ...) non sono più supportate dalle nuove versioni di PHP. Ti consiglio di passare alle nuove funzioni mysqli (l'utilizzo è molto simile alle vecchie funzioni, spesso si tratta solamente di aggiungere la "i" nel nome delle funzioni, guarda comunque la documentazione indicata).

    Altrimenti, potresti utilizzare PDO.
    L'ultima possibilità (sconsigliato) è di provare ad impostare una versione di PHP vecchia, forse con PHP5 dovrebbe funzionare il tuo codice. Ma ti invito caldamente ad utilizzare le nuove interfacce.

    Ciao!

  3. #3
    extremelotleoni non è connesso Utente AlterBlog
    Data registrazione
    19-11-2019
    Messaggi
    3

    Predefinito

    Grazie intanto per la risposta!
    Ho provato a seguire il tuo suggerimento, modificando il codice così:

    Codice PHP:
    <html xmlns="http://www.w3.org/1999/xhtml">
    <?php
    $DB_host
    = 'localhost';
    $DB_user = 'extremelotleoni';
    $DB_password = '';
    $DB_name = 'my_extremelotleoni';

    $link = mysqli_connect($DB_host, $DB_user, $DB_password);
    if (!
    $link) {
    die (
    'Non riesco a connettermi: ' . mysqli_error());
    }

    $db_selected = mysqli_select_db($DB_name, $link);
    if (!
    $db_selected) {
    die (
    "Errore nella selezione del database: " . mysqli_error());
    }

    if(
    $_POST) {
    effettua_login();
    } else {
    mostra_form();
    }

    function
    mostra_form()
    {
    // mostro un eventuale messaggio
    if(isset($_GET['msg'])) {
    echo
    '<b>'.htmlentities($_GET['msg']).'</b><br /><br />';
    }

    ?>
    Ho verificato anche nella documentazione mysqli e mi sembra tutto corretto (mi sembra!)
    Solo che ora mi restituisce la stringa di errore :

    Errore nella selezione del database:


  4. #4
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Controlla la documentazione di mysqli_select_db: devi passare prima $link, poi $DB_name:
    Codice PHP:
    $db_selected = mysqli_select_db($link, $DB_name);

    I suggerimenti che do più spesso:


  5. #5
    extremelotleoni non è connesso Utente AlterBlog
    Data registrazione
    19-11-2019
    Messaggi
    3

    Predefinito

    Funziona!
    Grazie per la dritta <3
    Ho sotituito il mio codice di connessione con questo...

    Codice PHP:
    <?php
    $link
    = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db");

    if (!
    $link) {
    echo
    "Error: Unable to connect to MySQL." . PHP_EOL;
    echo
    "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo
    "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
    }

  6. #6
    giacomo55 non è connesso Neofita
    Data registrazione
    25-06-2010
    Messaggi
    1

    Predefinito

    anche a me da questo errore Fatal error: Uncaught Error: Call to undefined function mysql_connect() ho provato con
    mysqli_connect() ma non funziona

  7. #7
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,252

    Predefinito

    Salve giacomo55,
    molto probabilemnte è stato effettuato l'aggioramento del database a MySQL 8.0.

    Il supporto a php 5.x è cessato l'1 gennaio 2019, e con esso le funzioni mysql, quindi la soluzione migliore è aggiornare il codice a MySQLi o PDO.

    [...]ho provato con mysqli_connect() ma non funziona
    Ha convertito tutto il codice in MySQLi in tutti i file/pagine php del sito?
    Intende che le risulta lo stesso messaggio di errore o ne visualizza altri?

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 17-05-2021 alle ore 13.45.14

Regole di scrittura

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