2017-02-16 9 views
0

PicPHP mysqli nicht woking

Also ich bin neu bei mysqli. Alle Beispiele, die ich online finde, scheinen die alte (prozedurale) Vorgehensweise zu sein. Kann mir jemand sagen, warum mein Code unten nicht funktioniert? Meine db ist 'templatedb'. Meine Tabelle ist 'Vorlage'. Ich habe einen Eintrag in meiner Tabelle, aber ich erhalte keine Ausgabe mit meinem Echo. Ich bekomme keine Fehler mit meinem Code.

 <div id="templateSelector"> 
     <?php 
     $hostname = "localhost"; 
     $username = "root"; 
     $password = ""; 
     $db = "templatedb"; 
     //connect 
     mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); 
     $database = mysqli_connect($hostname, $username, $password, $db); 
     if(!$database){ 
      die("Could not connect to the database");     
     } 

     if ($database->connect_errno) { 
      echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; 
     } else { 
      $sql = "SELECT * FROM template"; 
      if (!$result = $database->query($sql)) { 
       die('There was an error running the query [' . $db->error . ']'); 
      } else { 

       echo "<label>Select Template</label>"; 
       echo "<select name='templates'>"; 
       while ($row = $result->fetch_assoc()) { 
        echo "hello"; 
        echo $row['template_name']; 
        // echo "<option value='" . $row['template'] . "'>" . $row['template'] . "</option>"; 
       } 
       echo "</select>"; 
      } 
     } 
     ?> 
+0

Entweder gibt es keine Datensätze in der Tabelle oder Sie sehen nicht alle Fehler –

+0

Ich werde diese Frage mit einem Link zu einer Antwort schließen, die Ihnen hilft, jeden einzelnen aufgetretenen Fehler anzuzeigen. Während für den Tabelleninhalt sind wir hier einfach nicht verantwortlich. –

+0

Ich habe die Zeile 'mysqli_report (MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);' vor 'mysqli_connect (..)' Es gibt keine Fehler. Ich aktualisiere die Frage mit einem Screenshot meiner db. –

Antwort

-2

Probieren Sie folgendes tun, arbeitete für mich

<div id="templateSelector"> 
<?php 
$hostname = "localhost"; 
$username = "root"; 
$password = ""; 
$db = "templatedb"; 
$mysqli = mysqli_connect($hostname, $username, $password, $db); 
if($mysqli->connect_errno) { 
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; 
} else { 
    $sql = "SELECT * FROM template"; 
    $result = mysqli_query($mysqli, $sql); 
    if(!$result = $mysqli->query($sql)) { 
     die('There was an error running the query [' . $db->error . ']'); 
    } else { 
     echo "<label>Select Template</label>\n"; 
     echo "<select name='templates'>\n"; 
     while($row = $result->fetch_assoc()) { 
      echo "<option>id = " . $row['id'] . "</option>\n"; 
     } 
     echo "</select>"; 
    } 
} 
?> 
</div> 

enter image description here

Stellen Sie sicher, Ihre DATABASE aufgerufen wird templatedb und die Tabelle es in ist, template genannt und es gibt eine Reihe id genannt . Ich weiß, das klingt trivial, aber Rechtschreibfehler werden deinen Code zerstören.

+0

habe ich, noch keine Ausgabe von der DB. –

+0

Ich habe Sir, siehe das Bild der db-Struktur. –

+0

Überprüfen Sie Ihre Schreibweise und stellen Sie sicher, dass mindestens eine Zeile in der Datenbank vorhanden ist. Dieser Code sollte funktionieren, vorausgesetzt, dass alles korrekt ist (stellen Sie sicher, dass mysql Benutzername und Passwort richtig sind, Sie die Berechtigung haben, usw.) – Kaboom