PHP select没有显示任何值

时间:2016-05-25 07:53:56

标签: php mysql

我想在下拉菜单中显示数据库中的表格。我已经建立了连接,进行了查询,但下拉列表中没有显示任何内容。任何人都可以告诉我原因。

下面是我的代码:

<?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 个答案:

答案 0 :(得分:0)

首先,您将mysql_*mysqli_*扩展名混合。建议仅使用mysqli_*而不是deprecated mysql_*

假设您使用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>内设置数据。您可以在上面看到我们如何在<option></option>

中汇总值

答案 1 :(得分:0)

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

例如<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>"
?>

答案 2 :(得分:0)

您使用的是mysql_ *函数,但您不应该:Why shouldn't I use mysql_* functions in PHP?

您正在使用mysqli_querymysql_fetch_array。请改为使用$result->fetch_arrayhttp://php.net/manual/en/mysqli-result.fetch-array.php

答案 3 :(得分: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>"
?>