Ankündigung

Einklappen
Keine Ankündigung bisher.

sqlite mit mysqli betreiben

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • basti1012
    hat ein Thema erstellt sqlite mit mysqli betreiben.

    sqlite mit mysqli betreiben

    Ich versuche gerade was mit sqlite zu schreiben weil in diesen fall keine Datenbanken vorhanden sind. Um nicht mit Textdatein zu arbeiten habe ich mir gedacht ich lese mich mal in sqlite ein.
    Wenn ich das richtig sehe ist das doch ganz normaler PDO Code den man auch bei normalen Datenbanken verwendet.
    Da ich mit PDO nicht klar komme und immer mysqli genutzt habe wollte ich das jetzt hierfür auch nutzen.
    Nur irgendwie bekommeich es mit mysqli nicht zum laufen. Habe ständig irgendwelche Fehler und so weiter.
    Selbst beim Googeln habe ich auch keine Beispiel gefunden wo sqlite mit mysqli Code läuft.nur das PDO mit objekten oder wie man das nennt.
    Meine Frage ist jetzt ob das überhaupt geht oder nur mit PDO und ob einer da ein Tutorial Link hat oder ein Beispiel Code

  • kaminbausatz
    antwortet
    Ein kleines Beispiel zum Spielen mit SQLite
    PHP-Code:
    <?php
    /**
     * @author kaminbausatz
     * PHP Version 7.0.13
     * PDO SQLite Lib 3.14.2
     */
    $sqlCreate = <<<ENDSQL
    CREATE TABLE zeiten (datum TEXT, soll TEXT, ist TEXT);
    INSERT INTO zeiten (datum, soll, ist) VALUES
    ("2017-07-10", "5:00", "2:34"),
    ("2017-07-11", "5:00", "1:35"),
    ("2017-07-12", "5:00", "4:57"),
    ("2017-07-12", "5:00", "1:57"),
    ("2017-07-10", "5:00", "1:30");
    ENDSQL;

    $memDB = new PDO('sqlite::memory:');
    $memDB->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);
    $memDB->exec($sqlCreate);

    class 
    myTable extends RecursiveIteratorIterator {
        public 
    $HTML '';
        public 
    $tableCaption ='';
        public 
    $tableFooter='';
        public function 
    beginIteration(){
            
    $this->HTML .= '<table>';
            if (
    $this->tableCaption !== '')
                
    $this->HTML .= '<caption>'.$this->tableCaption.'</caption>';
            
    $this->HTML .= '<thead><tr>';
            foreach (
    $this->current() as $key => $value){
                
    $this->HTML .= '<th>'.$key;
            }
            
    $this->HTML .= '<tbody>';
        }
        public function 
    endIteration(){
            if (
    $this->tableFooter !== ''){
                
    $this->HTML .= '</tbody>';
                
    $this->HTML .= $this->tableFooter;
                
    $this->HTML .= '</table>';
            }
            else
            
    $this->HTML .= '</tbody></table>';
        }
        public function 
    beginChildren() {
             if (
    $this->getDepth()==1)
                
    $this->HTML .= '<tr>' ;
        }
        public function 
    nextElement() {
               if (
    $this->getDepth()==1){
                    if (
    $this->current()[0]=='-')
                        
    $this->HTML .= '<td data-neg="true">'.htmlspecialchars($this->current(), ENT_COMPAT'UTF-8');
                    else
                     
    $this->HTML .= '<td>'.htmlspecialchars($this->current(), ENT_COMPAT'UTF-8');
               }
        }
    }

    function 
    createTable($db$query$caption$footer){
        if (
    preg_match('/\s/',$query))
            
    $myQuery $db->prepare($query);
        else
            
    $myQuery $db->prepare('SELECT * FROM '.$query);

        if (
    $footer != ''){
            
    $myFooter $db->prepare('SELECT * FROM '.$footer);
            
    $myFooter->execute();
            
    $myFooterResult $myFooter->fetch();
            
    $footer = ($myFooterResult[0]);
        }

        
    $myQuery -> execute ();
        
    $myResult $myQuery -> fetchAll(PDO::FETCH_ASSOC);
        if(
    $myResult && count($myResult)){
            
    $myTable = new myTable(new RecursiveArrayIterator($myResult), RecursiveIteratorIterator::SELF_FIRST);
            
    $myTable->tableCaption $caption;
            
    $myTable->tableFooter $footer;
            foreach(
    $myTable as $key => $list_element);
            return 
    $myTable->HTML;
        }
        else{
            return 
    'Fehler - Keine Daten vorhanden die Ihrer Query entsprechen!';
        }
    }
    ?>
    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Document</title>
      <style>
      table {
        border-collapse: collapse;
        font-family: "Calibri", sans-serif;
      }
      table caption {
        font-weight:bold;
        text-align:left;
        line-height: 200%;
        font-size:120%;
      }
      thead tr{
        background: #ddd;
      }
      td, th {
        border: 1px solid #bbb;
        width: 120px;
        text-align:center;
        line-height:200%;
      }
      [data-neg="true"] {
        font-weight:bold;
        color:red;
      }
      tfoot td {
        font-weight:bold;
      }
      </style>
    </head>
    <body>
    <?php
        
    echo createTable($memDB'zeiten''Tabelle (Zeiten)','');
    ?>
    </body>
    </html>

    Einen Kommentar schreiben:


  • jonas3344
    antwortet
    LIes mal die Einführung zu mysqli:
    http://php.net/manual/de/intro.mysqli.php

    Das sollte Deine Frage beantworten.

    Für sqlite gibts:
    http://php.net/manual/de/book.sqlite.php

    Einen Kommentar schreiben:

Lädt...
X