phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Creare Database attraverso file di testo (.txt)

Area di discussione relativa al linguaggio di programmazione web più conosciuto. Il forum è dedicato anche a MySQL, la piattaforma di database più utilizzata con il PHP.
Rispondi
Leox94
Utente
Utente
Messaggi: 1
Iscritto il: 08/11/2013, 15:51
Sesso: Maschio
Versione: 3.0.12
Server: Windows
PHP: 5
Database: Mysqli

Creare Database attraverso file di testo (.txt)

Messaggio da Leox94 » 08/11/2013, 15:52

Salve a tutti. Mi è stato affidato un compito che consiste nel realizzare due file:
1 - il primo deve essere un include che consenta l'accesso al database e metta a disposizione del resto del programma, nella pagina in cui viene incluso, una variabile (scalare od oggetto) che rappresenti il db ($db) da utilizzare in tutti i gli accessi. La variabile deve essere già 'pronta all'uso' (database aperto) all'uscita del file incluso. Prevedere in testa al file la configurazione dei parametri di accesso (nome server, nome database, username e password) da usare per l'aperura del DB, in modo da avere un punto unico di configurazione dell'accesso al database.

2 - il secondo deve essere una pagina PHP richiamabile da browser che apra un file di testo contenente una serie di righe, ognuna un comando SQL da eseguire sul database, lo legga riga per riga ed esegua il comando stesso sul database. Ovviamente, questa pagina utilizzerà il fiel include creato al punto 1.

Io uso Easyphp come server locale per testare tali progressi, però non riesco ad andare avanti, ovvero riesco a leggere il file con all'interno un'istruzione sql CREATE con vari parametri (id, utente, pass) però non riesco ad eseguire la query sul db.
Attendo risposte grazie infinite

MattiaPiccinini
Utente
Utente
Messaggi: 12
Iscritto il: 01/04/2014, 18:36
Sesso: Maschio
Server: Windows

Re: Creare Database attraverso file di testo (.txt)

Messaggio da MattiaPiccinini » 01/04/2014, 19:18

Secondo me il modo migliore per creare un database composto da file o usare un file per memorizzare istruzioni è salvare il file stesso in php.
Questo fà si che salvando all'interno del file le variabili queste entrino a far parte del sorgente senza bisogno di processi di lettura mi spiego:

Facendo un filewrite (mi raccomando che scriva la sintassi giusta senza intoppi) di un file che contiene ad esempio una variabile per il titolo e il body.

Codice: Seleziona tutto

$f=fopen("db1.php",a+);
fwrite($f,'<?php
$title = "'.$(contenuto title).'";
$body = "'.$(contenuto body).'";
?>');
fcolse($f);
Qualora tu vai a fare un include del file db1.php questo si trascinerà dietro le variebili scritte dentro al file:

Codice: Seleziona tutto

include "db1.php";
echo $title;
echo $body;
Così facendo puoi benissimo costruirti interi processi che si ripetono appena viene incluso il file opportuno, sempre che le variabili fra una porzione di codice e quella del file siano simbiotiche, nel senso che se tu hai una variabile globale $DB questa deve essere usata nell'oggetto e nel file sempre con lo stesso nome altrimenti il file non trova i riferimenti necessari, se gli servono.


Quindi tu puoi in ogni pagina creare una sorta di MainObj.php che crea una variabile GLOBALE che contenga l'oggetto che rappresenterebbe in fine la connessione al database.
Un coso simile: ;)

Codice: Seleziona tutto


$SQLs = mysql_connect('localhost') or die('Could not connect to mysql server.' );
          $DBS = mysql_select_db('my_DB', $SQLs);
  
  
  
function SQLCMD ($CMD){
  $ResP=mysql_query($CMD);
  
    if (!$ResP) {
      //  echo "Fallimento nell'esecuzione della query ($sql) dal DB: " . mysql_error();
    }
  return $ResP;
  
  }
  
Semplicemente includendo questo file, su tutta la pagina e sulle future inclusioni si ripercuoteranno le variabili $SQLs,$DBS e ,importante, la funzione che ti permette di eseguire le query.

Dopo tu puoi includere tutti i file che ti pare che possano già contenere (che puoi crearti col write anche "live") :

Codice: Seleziona tutto

<?php
$Return = SQLCMD("{query pre-salvata}");
?>
Una volta incluso il file fa quello, senza alcun problema, dopo te usi il $Return per gestire il risultato del DB e man mano che includi file STRUTTURATI COSI' $Return viene sostituito con quello nuovo...

Io ho usato il classico metodo PhPMySql tu puoi usare l'oggetto SQLi trovi un sacco di guide in giro ma il principio è identico.

Potrei aver sminchiato la sintassi ma il procedimento spero tu l'abbia capito :lol: , da non dimenticare che così il contenuto non è nemmeno visibile dalle persone che aprono il file ciò protegge i dati contenuti e puoi inserirgli variabili esterne semplicemente scrivendo nel file che deve utilizzare una variabile come se ciò che scrivi nel file fosse in serie al codice di tutto il resto della pagina.

spero di essere stato utile

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Nessuno e 47 ospiti