Da php 5.6 a php 7

piero60

Utente Attivo
26 Gen 2015
71
2
8
Salve a tutti,
tempo fa qui da qualche parte nel forum ho scaricato questo script che mostra a video
il contenuto di una tabella di database.
Con PHP 5xxx tutto ok, con php7 che non accetta più i comandi Msql ma vuole i Msqli
chiaramente ci sono problemi.

Ho provato a modificarlo però poi nel mysql_fetch_assoc sorgono problemi di parametri mancanti.
Ho già modificato tutto per far funzionare i vari script con comandi
(MySQLi Procedural) e funziona tutto tranne questo dannato mysql_fetch_assoc.

Posto lo script originare. qualcuno sa come modificarlo per farlo funzionare in modo
(MySQLi Procedural)

Grazie, segue lo script:

PHP:
<?php
include_once('../inc/connect.php');
    
// Creo una variabile dove imposto il numero di record
// da mostrare in ogni pagina
$x_pag = 10;

// Recupero il numero di pagina corrente.
// Generalmente si utilizza una querystring
$pag = isset($_GET['pag']) ? $_GET['pag'] : 1;

// Controllo se $pag è valorizzato e se è numerico
// ...in caso contrario gli assegno valore 1
if (!$pag || !is_numeric($pag)) $pag = 1;

$cod = 0;

// Uso mysql_num_rows per contare il totale delle righe presenti all'interno della tabella tavoli
$all_rows = mysql_num_rows(mysql_query("SELECT id FROM tabella1 WHERE codice !='$cod'"));

// Tramite una semplice operazione matematica definisco il numero totale di pagine
$all_pages = ceil($all_rows / $x_pag);

// Calcolo da quale record iniziare
$first = ($pag - 1) * $x_pag;

// Recupero i record per la pagina corrente...
// utilizzando LIMIT per partire da $first e contare fino a $x_pag
$rs = mysql_query("SELECT * FROM tabella1 WHERE codice !='$cod' ORDER BY cognome, nome ASC LIMIT $first, $x_pag");
$nr = mysql_num_rows($rs);
if ($nr != 0){

 echo '<table cellpadding="0" cellspacing="0" class="db-table">';
 echo '<tr><th>ELEM1</th><th>ELEM2</th><th>ELEM3</th><th>ELEM4</th><th>ELEM5</th></tr>';
        
 for($x = 0; $x < $nr; $x++){
    $row = mysql_fetch_assoc($rs);

echo '<tr>';
echo '<td>' . $row['elem1'];
echo '<td>' . $row['elem2'];
echo '<td>' . $row['elem3'];
echo '<td>' . $row['elem4'];
echo '<td>' . $row['elem5'];

 }

 echo '</tr>';

 }

 echo '</table><br />';
 
// Se le pagine totali sono più di 1...
// stampo i link per andare avanti e indietro tra le diverse pagine!
if ($all_pages > 1){
  if ($pag > 1){
    echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?pag=" . ($pag - 1) . "\">";
}

if ($all_pages > 1){
  if ($pag > 1){
    echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?pag=" . ($pag - 1) . "\">";
    echo "<span style='color: #008000; font-family: arial, helvetica, sans-serif; font-size: 15pt; text-decoration: none;'> << </span> </a>&nbsp;&nbsp;&nbsp;";
  }
  // faccio un ciclo di tutte le pagine
  for ($p=1; $p<=$all_pages; $p++) {
    // per la pagina corrente non mostro nessun link ma la evidenzio in blod
    // all'interno della sequenza delle pagine
    if ($p == $pag) echo "<span style='font-family: arial, helvetica, sans-serif; font-size: 13pt;'><span style='color: #fd0416;'><b>" . $p . "</b></span></span>&nbsp;&nbsp;&nbsp;";

// per tutte le altre pagine stampo il link
   else {
     echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?pag=" . $p . "\">";
      echo $p . "</a>&nbsp;&nbsp;&nbsp;";
 }
}
  if ($all_pages > $pag){
    
    echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?pag=" . ($pag + 1) . "\">";
    echo "<span style='color: #008000; font-family: arial, helvetica, sans-serif; font-size: 15pt; text-decoration: none;'> >> </span></a>";
  }
 }
}

// Chiudo la connessione ad DB
mysql_close($con);

?>

  </body>
</html>
 

bubino8

Utente Attivo
28 Apr 2017
360
20
28
31
BZ
Ciao devi cambiare tutto in mysqli
Posta la pagina 'connect.php' ovviamente cancella i dati prima di condividere:D.
PHP:
mysql_query("SELECT
in
mysqli_query($con, "SELECT
PHP:
mysql_num_rows
in
mysqli_num_rows
PHP:
mysql_fetch_assoc
in
mysqli_fetch_assoc
PHP:
mysql_real_escape_string("SELECT
in
mysqli_real_escape_string($con, "SELECT
PHP:
mysql_close($con);
in
mysqli_close($con);
 

piero60

Utente Attivo
26 Gen 2015
71
2
8
Il tipo di connessione così come tutto il resto già modificato e funzionante usa (MySQLi Procedural)

Questo è il php connect:

PHP:
<?php
$servername = "xx.xx.xx.xxx";
$username = "pippo";
$password = "pluto";
$dbname = "paperino";

$conn = mysqli_connect($servername, $username, $password, $dbname);

if (!$conn) {
    die("Impossibile connettersi al database: " . mysqli_connect_error());
}
?>
 

bubino8

Utente Attivo
28 Apr 2017
360
20
28
31
BZ
Modifica tutti proprio tutti i mysql in mysqli e posta l'errore che ti restituisce.

Non dovrebbe cambiare niente in realtà ma io sto testando cosi è funziona.
PHP:
$con = mysqli_connect($db_host, $db_user, $db_pass, $db_name) or die("Errore: ".mysqli_connect_error());
 

piero60

Utente Attivo
26 Gen 2015
71
2
8
Grazie mille bubino8,

Funziona perfettamente, era quel $conn da inserire prima del SELECT che mi fregava, eppure avevo letto il manuale.
Si vede che durante la lettura ero altrove.
Buona giornata ed ancora grazie. :)
 
  • Like
Reactions: bubino8
Discussioni simili
Autore Titolo Forum Risposte Data
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 1
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0

Discussioni simili