首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否从MySQL表中复制结果?

问是否从MySQL表中复制结果?
EN

Stack Overflow用户
提问于 2013-04-18 01:30:31
回答 2查看 72关注 0票数 2

我有以下代码:

代码语言:javascript
复制
  <?php

$select =  mysqli_query ($con,"SELECT field_2 FROM info4");  
 if (! $select) {
die('Query unfunctional ' . mysqli_error($con));
}
   ?>

<table>
<td><select name="City">

<?php
while ($res=mysqli_fetch_array($select)){
foreach($res as $value){
echo "<option>" . $value . "</option>";
}}
?>
</select></td></table>

其中$con是连接。

但这会输出下拉列表,其中所有值都是重复的。例如,如果我的表中有1和2,则输出: 1/1/2/2 (在下拉列表中)。我假设我在我的代码中犯了一个错误--有人会碰巧看到它吗?

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-18 01:35:15

尝尝这个。在这种情况下,foreach循环是不必要的。

代码语言:javascript
复制
<?php
while ($res=mysqli_fetch_assoc($select)){
echo "<option>" . $res["field_2"] . "</option>";
}
?>
票数 1
EN

Stack Overflow用户

发布于 2013-04-18 01:35:23

mysqli_fetch_array默认为结果返回类型MYSQLI_BOTH,它同时返回关联值和非关联值。为什么会这样,我不知道,但它返回的数组是:

代码语言:javascript
复制
$res = array(0 => '1', 'field_2' => '1');

可以通过使用mysqli_fetch_assoc或将MYSQLI_ASSOC指定为返回值来解决此问题。我的首选解决方案是:

代码语言:javascript
复制
while ($res = mysqli_fetch_assoc($select)) {
    echo "<option>$res[field_2]</option>";
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16066415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档