2017-03-04 88 views
0

我必须创建一个表单,从mySQL数据库中选择选项,以便列出一列中的所有不同值。不工作的代码如下:mysql不同形式选择

<form class="form-horizontal" method="get" action="startlist.php"> 
<select id="selectbasic" name="klass" class="form-control"> 
<?PHP 
$connection = mysqli_connect("link","dbuser","pass","dbname"); 
mysqli_set_charset($connection,"utf8"); 
$sql = "SELECT DISTINCT Klass FROM Voistlejad"; 
$result = mysqli_query($connection,$sql); 
while ($row = mysqli_fetch_array($connection,$result)) { 
echo $row["Klass"]; 
echo "<option value='".$row[0]."'>".$row[0]."</option>"; 
} 
mysqli_close($connection); 
?> 
    <option value='32KK5B'>32KK5B</option><!--This is how it needs to be--> 
</select> 
<button type='submit' class="btn btn-primary">Move on</button> 
</form> 

出了什么问题?

+4

“不工作”是您观察到的行为非常不精确的描述。可能有各种各样的错误。这里有一些提示:启用PHP错误报告。测试mysqli_connect的返回值,如果它的FALSE,则使用mysql_connect_error获取错误。在调用mysqli_query之后,测试$ results是否为FALSE,使用mysqli_error获取错误。几乎没有任何调试的证据。 StackOverflow是一个问题答案网站,而不是一个调试服务。 “我的代码有问题”不是*问题。 – spencer7593

+0

开始分解,从TOP开始,找出哪条线路出现故障。然后专门google那个问题。 – usumoio

回答

0

我想你混淆在何处使用单引号和双引号.. 一般来说,对于阵列/像$行对象,你从数组中值与不用引号或单引号,回声$行[ '克拉斯']

while ($row = mysqli_fetch_array($connection,$result)) { 

echo $row['Klass']; // single quotes 

echo "<option value='". $row['Klass'] ."'>". $row['Klass'] ."</option>"; 
} 
// shows sql error ONLY if there is one to show 
printf(" %s\n", mysqli_error($link)); 

PS强烈建议将代码添加到显示的MySQLi错误的,因为事情发生!

+0

感谢您的帮助! – user7656286