【问题标题】:mysql fetch to a multidimensional associative arrays phpmysql获取到多维关联数组php
【发布时间】:2016-06-21 10:49:43
【问题描述】:

我有一个 sql 查询,它返回一堆包含 id,field1,field2,field3 的行,我想创建一个以这种方式访问​​的数组:

$array[$id]['field1']

我试过这个:

$stmt2->bind_result($idOpcion,$field1,$field2,$field3);
while ($stmt2->fetch()) {

            $options = array(
                "$id" => array(
                    "field1" => $field1,
                    "field2" => $field2,
                    "field2" => $field3)
                );
}

并访问:

$id = 501; //Just for clarify the example

<option <?php if $options[$id]['field1']==$dimension->getIdDimension()){echo "selected";}?>
value="<?=$dimension->getIdDimension()?>">
<?=$dimension->getNombreDimension()?></option>

我得到消息:

NOTICE: Undefined offset: 501

我做错了什么?

您可以想象,主要目标是根据存储的数据在选择中加载/选择正确的选项。还有其他解决方案吗?

提前谢谢你。

【问题讨论】:

  • $options[$id] = array(); 这将为您完成这项工作。
  • 检查;在变量中设置 id 时丢失
  • $options[$id['field1'] 中的错字 - 应为 $options[$id]['field1']。 “if”后面的圆括号“(”也不见了
  • $id = 501 缺少分号。 if $options[$id['field1'] $id 周围缺少右括号
  • 谢谢你的错别字,在我的代码中没问题,所以问题不存在。我会尝试 Arsh 解决方案。

标签: php mysql associative-array


【解决方案1】:

感谢 Arsh Singh,现在它可以工作了!

while ($stmt2->fetch()) {

            $options[$id] = array( "field1" => $field1,
                    "field2" => $field2,
                    "field3" => $field3);

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-18
    相关资源
    最近更新 更多