PHP Problemi di comprensione con PHP

Alessandwo

Utente Iron
10 Aprile 2021
9
4
0
7
Ultima modifica da un moderatore:
Salve, ho problemi a capire un codice in PHP e non so proprio cosa faccia. Qualcuno saprebbe spiegarmelo? Grazie mille in anticipo
PHP:
<?php

$hostname="data";
$username="luogo";
$password="categoria";
$dbname="your_dbusername";
$usertable="titolo";
$yourfield = "artisti";

mysqli_connect($artisti,$data, $titolo) or die ("html>script language='JavaScript'>alert('Unable to connect to database! Please try again later.'),history.go(-1)/script>/html>");
mysqli_select_db($eventi);

$query = "se lect * from $eventi";

$result = mysqli_query($query);

if($result){
while($row = mysqli_fetch_array($result)){
$name = $row["$eventi"];
echo "Data: ".$data."br/>";
}
}
?>
 

0xbro

Super Moderatore
24 Febbraio 2017
4,155
162
3,191
1,645
Il codice è piuttosto semplice:
PHP:
$hostname="data";
$username="luogo";
$password="categoria";
$dbname="your_dbusername";
$usertable="titolo";
$yourfield = "artisti";
Qua sono dichiarate tutte le variabili utili al programma: hostname della macchina su cui è presente il database, nome utente e password per collegarsi al db, db da utilizzare, tabella da interrogare, campo da estrarre

PHP:
mysqli_connect($artisti,$data, $titolo) or die ("html>script language='JavaScript'>alert('Unable to connect to database! Please try again later.'),history.go(-1)/script>/html>");
Qua il codice cerca di collegarsi al DB e in caso non ci riuscisse, emette un errore e riporta alla pagina precedente

PHP:
$query = "se lect * from $eventi";
$result = mysqli_query($query);

if($result){
while($row = mysqli_fetch_array($result)){
$name = $row["$eventi"];
echo "Data: ".$data."br/>";
}
}
Qua il codice esegue la query (estrae tutti gli eventi) e per ogni record estratto stampa a schermo il campo interessato


Comunque noto diversi errori, ci sono delle variabili mancanti, tipo $eventi e invece variabili mai usate... da dove arriva il codice?
 

Alessandwo

Utente Iron
10 Aprile 2021
9
4
0
7
Il codice è piuttosto semplice:
PHP:
$hostname="data";
$username="luogo";
$password="categoria";
$dbname="your_dbusername";
$usertable="titolo";
$yourfield = "artisti";
Qua sono dichiarate tutte le variabili utili al programma: hostname della macchina su cui è presente il database, nome utente e password per collegarsi al db, db da utilizzare, tabella da interrogare, campo da estrarre

PHP:
mysqli_connect($artisti,$data, $titolo) or die ("html>script language='JavaScript'>alert('Unable to connect to database! Please try again later.'),history.go(-1)/script>/html>");
Qua il codice cerca di collegarsi al DB e in caso non ci riuscisse, emette un errore e riporta alla pagina precedente

PHP:
$query = "se lect * from $eventi";
$result = mysqli_query($query);

if($result){
while($row = mysqli_fetch_array($result)){
$name = $row["$eventi"];
echo "Data: ".$data."br/>";
}
}
Qua il codice esegue la query (estrae tutti gli eventi) e per ogni record estratto stampa a schermo il campo interessato


Comunque noto diversi errori, ci sono delle variabili mancanti, tipo $eventi e invece variabili mai usate... da dove arriva il codice?
Grazie mille, ma quale sarebbero rispettivamente il db da utilizzare, la tabella da interrogare ed il campo da estrarre?
 

0xbro

Super Moderatore
24 Febbraio 2017
4,155
162
3,191
1,645
Ce lo ha dato il nostro professore di informatica
mmmm ok, è strano, comunque ti metto come immagino la versione corretta dello stesso codice, con un comment sopra ogni riga:
PHP:
<?php

$hostname="127.0.0.1"; // solitamente per scopi scolastici il DB è sulla stessa macchina del webserver. Ciò non dovrebbe capitare però in realtà aziendali
$username="mysql_user"; // nome utente con cui ci si autentica
$password="MySuperSecurePasswordXD"; // password con cui mysql_user si autenticarsi al db
$dbname="eventi_musicali"; // il database che useremo
$table="artisti"; // tabella del database contenente tutti gli artisti che si esibiranno
$artistname = ""; // non credo serva questo campo

// collegamento al database tramite le credenziali dell'utente
mysqli_connect($hostname,$username, $password) or die ("html>script language='JavaScript'>alert('Unable to connect to database! Please try again later.'),history.go(-1)/script>/html>");

// seleziono il database che voglio usare
mysqli_select_db($dbname);

// seleziono tutti gli artisti all'interno della tabella "artisti"
$query = "se lect * from $table";

// eseguo la query
$result = mysqli_query($query);

// Stampo nome, cognome e nome d'arte di ogni artista
if($result){
while($row = mysqli_fetch_array($result)){
$name = $row['nome'];
$cognome = $row['cognome']
$art = $row['nomeArte']
echo "Nome: ".$name."<br/>";
echo "Cognome: ".$cognome."<br/>";
echo "Nome d'arte: ".$art."<br/>";
}
}
?>
 

Alessandwo

Utente Iron
10 Aprile 2021
9
4
0
7
Ultima modifica da un moderatore:
Questo dipende da cosa richiede di fare il programma e da come è stato ideato il database
Grazie mille dell' aiuto. Potrei chiederti un'altra favore? Devo fare un modello E/R ma non so dove mettere le mani. Ho provato a chiedere anche qui nelle altre sezioni di forum relative ai database ma nessuno risponde, e anche su reddit. Non è che per caso sapresti darmi una bozza perfavore? Nel senso, basta che riesco a capire quali siano le entità i rispettivi campi. Di seguito il link:

 

0xbro

Super Moderatore
24 Febbraio 2017
4,155
162
3,191
1,645
Grazie mille dell' aiuto. Potrei chiederti un'altra favore? Devo fare un modello E/R ma non so dove mettere le mani. Ho provato a chiedere anche qui nelle altre sezioni di forum relative ai database ma nessuno risponde, e anche su reddit. Non è che per caso sapresti darmi una bozza perfavore? Nel senso, basta che riesco a capire quali siano le entità i rispettivi campi. Di seguito il link:

No non posso poichè oltre ad essere un'attività dispendiosa in termini di tempo è anche molto "soggettiva" e legata al modo di pensare dello sviluppatore. Lo schema entità relazione è facile, devi individuare le parole chiave del testo (in genere soggetti e azioni) e relazionarle tra di loro. Lo schema E/R successivamente si trasformerà nel tuo db
 

Alessandwo

Utente Iron
10 Aprile 2021
9
4
0
7
No non posso poichè oltre ad essere un'attività dispendiosa in termini di tempo è anche molto "soggettiva" e legata al modo di pensare dello sviluppatore. Lo schema entità relazione è facile, devi individuare le parole chiave del testo (in genere soggetti e azioni) e relazionarle tra di loro. Lo schema E/R successivamente si trasformerà nel tuo db
Ok grazie lo stesso