在for循环上发布SQLi结果($ var-> fetch_object)

时间:2013-04-26 22:35:53

标签: php string mysqli

我有这个PHP脚本,它在html表单上发布数据库的结果:

$link = new mysqli($host, $u, $pw, $db);
$link->query("...")
...
while($result = $fromdb->fetch_object()){
   ...
   for($i=1; $i<=3; $i++){
      ...
      print '<div>
             <label class="energytypes" for="something'.$i.'">Something:</label>                  
             <input type="text
                    ...
                    value="'.$result->{something.$i}.'">
              </div>';
   }
}

这是:

$result->{something.$i}

唯一和/或正确的获取方式:

$result->something1
$result->something2
$result->something3

谢谢

修改

建议后我决定使用mysqli_fetch_array。

完整的(工作)代码是:

while($result = mysqli_fetch_array($fromdb)){
   ...
   for($i=1; $i<=3; $i++){
      ...
      print '<div>
             <label class="energytypes" for="something'.$i.'">Something:</label>                  
             <input type="text
                    ...
                    value="'.$result['something'.$i].'">
              </div>';
   }
}

1 个答案:

答案 0 :(得分:1)

是的,这是正确的方法。 (http://php.net/manual/en/language.variables.variable.php

你当然可以取一个关联数组,如果这样会感觉更直观。但除此之外,这是使用变量名访问属性的PHP方式。