Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Mysqli OOP non riesco a farla funzionare.

    Ciao a tutti e scusatemi fin da subito se magari l'argomento è stato già trattato. Ho fatto una ricerca ma non sono riuscito a trovare risposte, ne con la ricerca sul forum ne con Google. Ma sicuramente la mia chiave di ricerca è sbagliata .
    Riaffronto dopo anni PHP e mi ritrovo la programmazione ad Oggetti, ottima cosa! Ma io sono mooolto arrugginito. Vi spiego cosa ho fatto.
    Allora per prima cosa ho fatto un file.ini con la configurazione all'accesso a mysql, server utente psw e db. Poi ho creato la classe,
    class DB {
    public $connessione;
    public function connetti(){
    $connessione = new mysqli("","","","");
    eccezioni e die;
    }
    public function seleziona($query){
    $rows = array();
    $result = mysqli_query($query);
    if($result === false) {
    return false;
    }
    while ($row = $result -> fetch_assoc()) {
    $rows[] = $row;
    }
    return $rows;
    }

    Poi ho fatto un file main.php
    require_once(classe)
    $obj = new DB();
    $obj->seleziona("SELECT * FROM prova");

    Ma non funziona, non da warning ne errori ma non funziona (l'esempio da me fatto è più concettuale che pratico, ho tralasciato le parti del parse al file ini la gestione errori).
    Mi pare che la connessione "sparisca".
    Avete un esempio (anche online) da farmi vedere per capire?
    Io pensavo e penso che una volta creata la classe e associata all'oggetto, questa avesse connessione permanente e quindi i metodi della classe funzionassero, ma forse non ho proprio capito nada

  2. #2
    Non chiami mai il metodo connetti() della classe DB, per cui non ti connetti mai a mysql...
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  3. #3
    Pensavo bastasse una volta sola,ok modifico. Grazie

  4. #4
    Quote Originariamente inviata da Ricky1966 Visualizza il messaggio
    Pensavo bastasse una volta sola
    Ma non lo invochi neanche una volta sola.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    opd.. ho dimenticato di scriverlo, in main.php, dopo aver creato l'oggetto lo chiamo
    $obj->connetti();

  6. #6
    Tu non sapresti indicami un esempio, più semplice possibile, online per cercare di capire?

  7. #7
    Ma nella connetti() passi alla chiamata new mysqli("","","",""); i veri parametri di connessione, o gli passi davvero quelle stringhe vuote?

    Perchè PHP di suo non legge nessun file ini che non sia il php.ini o lo .user.ini , quindi non basta scrivere le credenziali mysql in un file ini!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  8. #8
    Adesso funziona. Passavo i parametri giusti. Dimenticavo la connessione nella query.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.