2017-02-16 61 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