Design · PHP · Server

Design · PHP · Server

WordPress · Drupal · PrestaShop

  • Startseite
  • WordPress
  • PHP / Datenbanken
  • Ubuntu
  • Prestashop
  • Indesign
  • Grafik

XAMPP: MySQL startet nicht (MySQL table is marked as crashed and last repair failed)

2. Oktober 2022 Leave a Comment

Wenn der Computer unerwartet heruntergefahren wurde, kann es zu der Fehlermeldung „MySQL table is marked as crashed and last repair failed“ kommen.
Abhilfe schafft es, wenn man bei Xampp „Shell“ anklickt und hier die folgende Befehlszeile eingibt

mysqld --console --skip-grant-tables --skip-external-locking

Anschließend das Shell Fenster noch einmal öffnen und folgenden Befehl eingeben

mysqlcheck -r --databases mysql --use-frm

Quelle: Apache Friends

Filed Under: PHP / Datenbanken Tagged With: MySQL, Xampp

short_open_tag in der .htaccess Datei aktivieren oder deaktivieren

14. Juni 2018 Leave a Comment

Wenn kein Zugriff auf die Datei php.ini besteht, lassen sich die Werte für short_open_tag auch über die .htaccess Datei ändern.

short_open_tag ausschalten:

php_flag short_open_tag 0

short_open_tag aktivieren:

php_flag short_open_tag 1

Filed Under: PHP / Datenbanken

PHP: Loops

2. November 2013 Leave a Comment

Um Aufgaben auszuführen, die sich öfter wiederholen, benutzt man einen sogenannten Loop. Die einfachste Form eines Loops ist der While Loop. Der While Loop besteht aus dem Keyword while, dem die Bedingung in Klammern folgt und der auszuführende Code in geschweiften Klammern.

while (condition) {

// auszuführender Code

}

 

Solange die Bedingung wahr (true) bleibt, wird der Code in den geschweiften Klammern ausgeführt. Der Loop wird beendet, sobald die Bedingung nicht mehr wahr ist (false).

Einfaches Beispiel für einen While Loop:

<?php
     // Zähler
     $i = 1;

     while ($i <= 10) {
               echo $i; . ', ';
               // Erhöhung des Zählers
               $i++;
}

Das Ergebnis ist  in diesem Fall die Ausgabe von: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Sobald der Zähler den Wert 11 hat, wird der Loop nicht mehr ausgeführt, da die Bedingung $i >= 10 nicht mehr wahr ist.

$i ist eine der seltenen Gelegenheiten, bei denen eine Variable nur aus einem Zeichen besteht. Die Bezeichnung $i hat sich als Variable für einen Zähler als allgemeiner Standard durchgesetzt. Benötigt man mehr als einen Zähler, werden weitere Zähler gewöhnlich als $j bzw. $k bezeichnet.

Do … While Loop

Sehr häufig findet man auch einen Do … While Loop. In einem Do … While Loop kommt die Bedingung nach dem Block mit dem Code, der ausgeführt werden soll. Der Do … While Loop beginnt mit dem Keyword do. Danach folgt in geschweiften Klammern der Code, der ausgeführt werden soll, anschließend die Bedingung in runden Klammern. Am Ende steht ein Semikolon.

do {
     // Code, der ausgeführt werden soll
   } while (condition) ;

 

Dadurch, dass die Bedingung ganz am Ende steht, wird der Do … While Loop immer mindestens einmal ausgeführt, auch wenn die Bedingung falsch (false) ist.

Beispiel:

<?php
$i = 50;
do {
     echo $i ;
     $i++;
} while ($1 <= 10);

Als Ergebnis würde $i einmal ausgegeben (50). Weiter passiert nichts, da die nachfolgende Bedingung falsch ist.

Bei einem While und auch bei einem Do … While Loop besteht das Risiko, dass man eine Bedingung setzt, die immer wahr ist und in einem niemals endenden Loop endet (z.B. wenn man vergisst, den Zähler zu erhöhen).

For Loop

Bei einem For Loop ist das Risiko, eine unendlichen Loop zu erhalten, geringer. Die Basis-Syntax sieht wie folgt aus:

for (initialize; condition; increment; ) {

         // Code, der ausgeführt werden soll

}

Der Loop wird durch 3 Ausdrücke kontrolliert, die in Klammern gesetzt dem Keyword for folgen. Der erste Ausdruck wird ausgeführt, bevor der Loop startet. Normalerweise wird dies zum Initialisieren eines Zählers benutzt. Der zweite Ausdruck legt die Bedingung fest, die bestimmt, wie lange der Loop laufen soll. Der dritte Ausdruck wird nach jeder Wiederholung des Loops ausgeführt. Normalerweise wird dies benutzt, um den Zähler zu erhöhen.

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
    <body>
       <h1>Zutaten</h1>
           <ul>
               <?php
                     $zutaten = array('Mehl', 'Milch', 'Zucker', 'Eier', 'Salz');
                     for ($i = 0; $i < count($zutaten); $i++) {
                              echo '<li>' . $zutaten[$i] . '</li>';
               }
               ?>
           </ul>
    </body>
</html>

Das Ergebnis im Browser ist:

Zutaten

  • Mehl
  • Milch
  • Zucker
  • Eier
  • Salz

Es kann vorkommen, dass man bei einem bestimmten Element des Arrays den Code nicht ausführen will. In diesem Fall kann man ein if-Statement mit dem Befehl continue einfügen:

<?php
      $zutaten = array('Mehl', 'Milch', 'Zucker', 'Eier', 'Salz');

      for ($i = 0; $i < count($zutaten); $i++) {
          if ($i == 2) {
                           continue;
          }
          echo '<li>' . $zutaten[$i] . '</li>';
}
?>

In diesem Fall wird das dritte Element (Zucker) bei der Auflistung ausgelassen (da ein Array mit der Zahl 0 beginnt, entspricht ein Index mit der Zahl 2 dem dritten Element des Arrays).

Wenn der Loop nach einem bestimmten Element stoppen soll, benutzt man den break Befehl.

<?php
        $zutaten = array('Mehl', 'Milch', 'Zucker', 'Eier', 'Salz');

        for ($i = 0; $i < count($zutaten); $i++) {
             echo '<li>' . $zutaten[$i] . '</li>';
             if ($zutaten[$i] == 'Zucker') {
             break;
}

 

In diesem Fall wird der Loop, sobald das Element Zucker ausgegeben ist, gestoppt. Die Liste endet also mit dem Element Zucker.

Zutaten

  • Mehl
  • Milch
  • Zucker

 

Von allen Loops ist der For Loop sicherlich der nützlichste. Der Do … While Loop ist eher speziell, da er immer einmal ausgeführt wird, auch wenn die Bedingung falsch ist. Der While Loop ist zwar sehr einfach, beinhaltet allerdings das Risiko einen unendlichen Loop zu schaffen, wenn man nicht aufpasst und niemals der Fall eintritt, dass die Bedingung falsch (false) ist.

Filed Under: PHP / Datenbanken Tagged With: Loops

  • 1
  • 2
  • 3
  • …
  • 5
  • Next Page »

Themen

Adminbar Apache Attachment Count Automatische Updates Backend Boolean values Boolesche Werte BuddyPress Code Snippets Concatenation Operator Conditional Statement Datenbank Email Enfold Escape Zeichen Galerien genesis Grid View htaccess Layout Builder List View Logische Operatoren Loops Maskieren Mitgliederbereich PHP PHP Anfänger PHP Variablen Plugins Prestashop Prestashop 1.5 Prestashop 1.6 Prestashop Module Registrierung RSS Feed s2member Server ssl Strings Tipps Windows Windows 10 WooCommerce WooCommerce Sortierung WordPress

Letzte Kommentare

  • Klaus bei Woocommerce: Shop Seiten neu generieren
  • Thomas bei WordPress: Einzelne Kategorien aus dem RSS Feed ausschließen
  • Bernhard bei CSS: Automatische Silbentrennung in einzelnen Wörtern verhindern
  • Bernhard bei CSS: Automatische Silbentrennung in einzelnen Wörtern verhindern
  • MC bei PHP: Boolesche Werte (Boolean Values)

Informationen

  • Kontakt
  • Datenschutzerklärung
  • Impressum
  • Cookie-Richtlinie (EU)
  • Kontakt
  • Datenschutzerklärung
  • Impressum
  • Cookie-Richtlinie (EU)
Cookie-Zustimmung verwalten
Um dir ein optimales Erlebnis zu bieten, verwenden wir Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wenn du diesen Technologien zustimmst, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn du deine Zustimmung nicht erteilst oder zurückziehst, können bestimmte Merkmale und Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Anbieter verwalten Lese mehr über diese Zwecke
Einstellungen ansehen
{title} {title} {title}