从数据库中获取值作为HTML中的选项,但不显示

As I stated on the title, I want to fetch data from the database and make them a value for option in HTML. But it shows nothing. In my database, I have 20 data, the option has 20 values tho, but it's all blank. Can you show me where I get it wrong?

<?php
    $query = "SELECT name_program FROM vote.program";
    $result = mysql_query($query);
?>
<div class="form-group">
   <label>Program</label>
        <select class="form-control">
            <option selected disabled>-- Select Program --</option>
            <?php
               while ($row = mysql_fetch_array($result)){
                   echo '<option value='.$row['name_program'].'</option>';
               }                                    
            ?>
        </select>
</div>

You have written option wrong way, it should be like

echo '<option value="'.$row['name_program'].'">'.$row['name_program'].'</option>';

Like @icecub stated, you should avoid using mysql_* function, you should look at pdo or mysqli.

Try This :

<?php
$con=mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$sql="SELECT name_program FROM vote.program";
$result=mysqli_query($con,$sql);

?>


<div class="form-group">
<label>Program</label>
<select class="form-control">
    <option selected disabled>-- Select Program --</option>
    <?php

    while ($row = mysqli_fetch_array($result,MYSQLI_ASSOC))
    {
        echo '<option value='.$row['name_program'].'>'.$row['name_program'].'</option>';
    }
    ?>
</select>
</div>