2016-05-25 129 views
0

我想在下拉菜单中显示来自我的数据库的表格。我已经建立了连接,进行了查询但没有出现在下拉列表中。谁能告诉我为什么。下面PHP select不显示任何值

是我的代码:

<?php 
    include ('db_connect.php'); 
    $sql ="select ins_name from institution"; 
    $result = mysqli_query($conn,$sql);       
    echo "<select name='ins_name'>"; 
    while ($row = mysql_fetch_array($result)){ 
    echo "<option value='".$row['ins_name']."'>"."</option>"; 
    } 
    echo "</select>" 
?> 
+4

在您的代码中混合使用'mysql和mysqli'! – Saty

+0

ou同时使用'mysqli'和'mysql',对吗? – ExtremsX

回答

0

首先,你mysqli_*扩展混合mysql_*。建议只使用mysqli_*而不是deprecatedmysql_*

假设您建立使用mysqli_*扩展(db_connect.php)数据库的连接:

$conn = new mysqli("Host", "Username", "Password", "Database"); /* REPLACE NECESSARY PARAMETERS */ 

/* CHECK CONNECTION */ 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

然后你的主文件:

<?php 

    include ('db_connect.php'); 

    echo '<select name="ins_name">'; 

    $stmt = $con->prepare("SELECT ins_name FROM institution"); /* PREPARE QUERY */ 
    $stmt->execute(); /* EXECUTE QUERY */ 
    $stmt->bind_result($insname); /* BIND RESULT TO THIS VARIABLE */ 
    while($stmt->fetch()){ /* GET ALL RESULT */ 

     echo '<option value="'.$insname.'">'.$insname.'</option>'; 

    } /* END OF WHILE LOOP */ 
    $stmt->close(); /* CLOSE STATEMENT */ 

    echo '</select>'; 

?> 

而且也,您没有设置在您的示例中显示在<option>内部的数据。您可以在上面看到我们如何连接您的值​​3210

0

使用mysqli_fetch_array()您需要在选项标签之间写入名称。

对于e.g <option value="1">Test</option>

<?php 
    include ('db_connect.php'); 
    $sql ="select ins_name from institution"; 
    $result = mysqli_query($conn,$sql);       
    echo "<select name='ins_name'>"; 
    while ($row = mysqli_fetch_array($result)){ 
    echo "<option value='".$row['ins_name']."'>".$row['ins_name']."</option>"; 
    } 
    echo "</select>" 
?> 
+0

谢谢。有效。 –

+0

欢迎..空地帮助你。如果有用,请接受答案。 @ ash_dev15 – RJParikh

0

您需要使用mysqli。您还必须显示选项中的值,

<?php 
    include ('db_connect.php'); 
    $sql = "select ins_name from institution"; 
    $result = mysqli_query($conn,$sql);       
    echo "<select name='ins_name'>"; 
    while ($row = mysqli_fetch_array($result)){ 
     $insName = $row['ins_name']; 
     echo "<option value='".$insName."'>".$insName."</option>"; 
    } 
    echo "</select>" 
?>