2017-02-16 78 views
0

PicPHP的mysqli不沃金

所以,我是新來的mysqli。我在網上找到的所有例子似乎都是舊的(程序性的)做事方式。有人能告訴我爲什麼我的代碼不能在下面工作嗎?我的db是'templatedb'。我的表格是'模板'。我的表中有一個條目,但我沒有收到我的迴應。我的代碼沒有出現任何錯誤。

 <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

要麼有表中沒有記錄,或者你看到不是所有的錯誤 –

+0

我將關閉這個問題,有一個鏈接到一個答案,這將有助於你顯示發生的每一個錯誤。雖然表格內容我們根本不負責任。 –

+0

我增加了行 'mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);' 'mysqli_connect(..)'之前沒有錯誤。我正在用我的db的屏幕截圖更新這個問題。 –

回答

-2

嘗試做以下,工作對我來說

<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

確保您的數據庫被稱爲templatedb,它是在表稱爲template,有一個叫id行。我知道這聽起來微不足道,但拼寫錯誤會破壞你的代碼。

+0

我做過了,仍然沒有從數據庫輸出。 –

+0

我做過先生,看到db結構的圖片。 –

+0

檢查拼寫並確保數據庫中至少有一行。此代碼應該假設一切都正常(確保mysql用戶名和密碼是正確的,您有權限等) – Kaboom