Visualizzazione risultati 1 fino 10 di 10

Discussione: Errore accesso DB

  1. #1
    legalys non è connesso Neofita
    Data registrazione
    01-10-2013
    Messaggi
    16

    Predefinito Errore accesso DB

    Buongiorno a tutti.
    Da oggi, o ieri forse, non riesco più ad avere accesso al mio DB di archivio tramite alcune semplici pagine php che avevo creato come interfaccia.

    L'errore che ottengo è il seguente:

    Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /membri/legalys/dischi/search_evo.php:19 Stack trace: #0 {main} thrown in /membri/legalys/dischi/search_evo.php on line 19

    Le pagine php non riescono più ad accedere al DB. Da php myadmin il DB è fortunatamente integro.

    LA riga 19 è ovviamente quella che comunica l'impossibilità di accesso (in grassetto e sottolineato). Sotto le prime 19 righe della pagina php. Avete delle indicazioni e vi ringrazio già da ora?

    <!DOCTYPE html>
    <!--
    To change this license header, choose License Headers in Project Properties.
    To change this template file, choose Tools | Templates
    and open the template in the editor.
    -->
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Tabella Ricerca Dischi</title>
    </head>
    <body>
    <?php
    $host = 'localhost';
    $user = 'legalys';
    $password = '';
    $database = 'my_legalys';

    $db = mysql_connect($host, $user, $password) or die ("impossibile connettersi al server $host");




    Cristiano

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

    Predefinito

    Le funzioni mysql sono obsolete e non andrebbero più usate. Devi riscrivere il codice ad esempio con mysqli. Ad esempio la mysql_connect() andrebbe sostituita con la mysqli_connect().

    Ciao!

  3. #3
    legalys non è connesso Neofita
    Data registrazione
    01-10-2013
    Messaggi
    16

    Predefinito

    Ti ringrazio per la risposta. Ma c'è stato qualche aggiornamento negli ultimi giorni su Altervista che non mi consente più di usare questo codice?

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

    Predefinito

    Slave,
    un po' per volta, vengno convertiti nei server i database MySQL dall versione 5.6 alla 8.0, quindi è probabile che sia stato effettuato questo aggiornamento. L'accopiata php 5.6 e MySQL 8.0 non è buona.

    Può controllare la versione di MySQL da qui.

    La soluzione al problema resta quella menzionata da alemoppo.

    Cordiali saluti.

  5. #5
    legalys non è connesso Neofita
    Data registrazione
    01-10-2013
    Messaggi
    16

    Predefinito

    Grazie mille anche a te.

    Sono arruginitissimo in merito. Ho modificato il codice con alcune istruzioni più moderne. Ora non ricevo più errore d'accesso al DB ma non riesco più a ottenere risultati inserendo input di ricerca nel form che mi ero preparato anni fa.
    Senza chiedervi ovviamente la revisione del codice potete cortesemente indicarmi dove secondo voi devo rivederlo per modernizzarlo a dovere? Grazie a tutti in anticipo.
    Codice PHP:
    <?php
    $host
    = 'localhost';
    $user = 'legalys';
    $password = '';
    $db = 'my_legalys';

    $conne = mysqli_connect($host, $user, $password, $db) or die ("impossibile connettersi al server $host");

    mysqli_select_db($conne, $db) or die ("impossibile connettersi al database $db");

    $artista=trim($_POST['artista']);
    $titolo=trim($_POST['titolo']);
    $sett=trim($_POST['sett']);
    $barcode=trim($_POST['barcode']);
    $cod=trim($_POST['cod']);
    $supp=trim($_POST['supp']);
    $form=trim($_POST['form']);
    $conf=trim($_POST['conf']);
    $copie=trim($_POST['copie']);
    $wh="";
    if(
    $artista!=""){//hai inputato l'autore
    $wh.=" artista LIKE '%$artista%' AND ";
    }
    if(
    $titolo!=""){//hai inputato il titolo
    $wh.=" titolo LIKE '%$titolo%' AND ";
    }
    if(
    $sett!=""){//hai inputato il settore
    $wh.=" sett LIKE '%$sett%' AND ";
    }
    if(
    $barcode!=""){//hai inputato l'autore
    $wh.=" barcode LIKE '%$barcode%' AND ";
    }
    if(
    $cod!=""){//hai inputato l'autore
    $wh.=" cod LIKE '%$cod%' AND ";
    }
    if(
    $supp!=""){//hai inputato l'autore
    $wh.=" supp LIKE '%$supp%' AND ";
    }
    if(
    $form!=""){//hai inputato l'autore
    $wh.=" form LIKE '%$form%' AND ";
    }
    if(
    $conf!=""){//hai inputato l'autore
    $wh.=" conf LIKE '%$conf%' AND ";
    }
    if(
    $copie!=""){//hai inputato l'autore
    $wh.=" copie LIKE '%$copie%' AND ";
    }
    $wh.= " 1=1 ";
    /*
    se non imputi nulla risulta $wh => 1=1 (estrai tutti i record)
    se solo autore $wh => autore LIKE '$autore%' AND 1=1
    se solo titolo $wh => titolo LIKE '$titolo%' AND 1=1
    se imputi autore e titolo $wh => autore LIKE '$autore%' AND titolo LIKE '$titolo%' AND 1=1
    da cui la query
    */
    $query="SELECT * FROM lp WHERE $wh";
    $dbResult = mysqli_query($query, $conne);
    $AffectedRows = mysqli_affected_rows($conne);

    print(
    "<a href="index1.html"><img src=img/torna1.gif></a>");
    print
    "<br>";
    print
    "<table border="1" cellspacing="0" bgcolor="#F8F8FF" bordercolor="#DCDCDC">\n";
    for ($index=0 ; $index<$AffectedRows ; $index++)
    {
    $row=mysqli_fetch_row($dbResult);

    if(
    $index==0)
    {
    print
    "<tr>\n";
    foreach (
    $row as $k => $v)
    {
    $myfield = mysqli_fetch_field($dbResult,$k);

    print (
    "<td><b>" . $myfield->name . "</b></td>");
    }
    print
    "</tr>\n";
    }
    foreach (
    $row as $k => $v)
    {
    if (
    $k==24){ $v = '<a href="'.$v.'">'.$v.'</a>';}
    print (
    "<td>$v&nbsp;");
    if (
    $k==0)
    {

    print
    "<br>";
    print
    "<a href="modifica.php?id=$v"><img src=img/update.gif></a>";
    print
    "<br>";
    print
    "<a href="cancella.php?id=$v"><img src=img/iconDelete.gif></a>";
    }
    print (
    "</td>");
    }
    print
    "</tr>\n";

    }
    print
    "</table>\n";
    print
    "<br>";
    print(
    "<a href="insert_copiacodice.html"><img src=img/inserisci1.gif></a>");
    print(
    "<a href="search_mob.html"><img src=img/cerca1.gif></a>");
    print(
    "<a href="index1.html"><img src=img/torna1.gif></a>");
    mysqli_free_result($dbResult);
    mysqli_close($conne);

    ?>
    </body>
    </html>
    Ultima modifica di alemoppo : 09-08-2021 alle ore 15.38.44 Motivo: +tag [php]

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

    Predefinito

    Controlla mysqli_query, hai invertito i parametri.

    Ciao!

  7. #7
    legalys non è connesso Neofita
    Data registrazione
    01-10-2013
    Messaggi
    16

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Controlla mysqli_query, hai invertito i parametri.

    Ciao!
    Sei un grande. Ora funziona e ti ringrazio infinitamente. Posso approfittarne?
    Secondo te come mai nell'output che mi fornisce la query non compaiono più le intestazioni di colonna?

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

    Predefinito

    Gli apici nei vari print non mi sembrano corretti, ricontrollali. Ricordo che puoi anche usare i singoli apici.

    Ciao!

  9. #9
    legalys non è connesso Neofita
    Data registrazione
    01-10-2013
    Messaggi
    16

    Predefinito

    Ci avevo pensato ma non vale ancora la regola che i doppi apici vengono, come si suol dire "letti" e quindi eseguita la funzione, mentre con i singoli apici viene stampato su schermo ciò che effettivamente è contenuto negli stessi?

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

    Predefinito

    Sì, ci sono esempi nella documentazione, vedi qui.

    Però, ad esempio, questo (ce ne son tanti altri):
    Codice PHP:
    print("<a href="insert_copiacodice.html"><img src=img/inserisci1.gif></a>");
    Alcuni esempi di come dovrebbe essere scritto:
    Codice PHP:
    print("<a href=\"insert_copiacodice.html\"><img src=\"img/inserisci1.gif\"></a>");
    Codice PHP:
    print('<a href="insert_copiacodice.html"><img src="img/inserisci1.gif"></a>');
    Codice PHP:
    print("<a href='insert_copiacodice.html'><img src='img/inserisci1.gif'></a>");
    Ciao!

Regole di scrittura

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