Ankündigung

Einklappen
Keine Ankündigung bisher.

sqlite mit mysqli betreiben

Einklappen

Neue Werbung 2019

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

  • 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
    Ich mach keine Rechtschreibfehler - ich schreib Freestyle!
    Erreichbar in mein Javascript-Forum und in Facebook-Chat

  • #2
    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

    Kommentar


    • #3
      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>

      Kommentar

      Lädt...
      X