3

我最近被告知停止使用mysql_query()并改用mysqli(). 不用说,我在代码中进行这些更改时遇到了困难。我很想修复我目前拥有的东西,但是我也在寻找最有效(阅读最少打字)的方式来循环下面的示例。

在我的 config.php 文件中

<?php
    $host = 'mysql.host.com';
    $user = 'userName';
    $password = 'password';
    $database = 'database';
    $link = new mysqli();
    $link->connect($host, $user, $password, $database);
    if (mysqli_connect_errno()) {
        exit('Connect failed: '. mysqli_connect_error());
    }
?>

在我的 index.php

$i = 0;
$getFundsQuery = "SELECT * FROM fund";
$getFundsResult = $link->query($getFundsQuery);
while($i < $getFundsResult->num_rows){
    echo "<option value = '".$getFundsResult['fundID']."'>".$getFundsResult['name']."</option>";
    $i++;
}

直接的问题是没有数据被返回。如上所述,我也在寻找一种方法,这种方法可以产生最少的输入以循环遍历结果

4

1 回答 1

5

首先,您可以省略$link->connect(..)with:

$mysqli = new mysqli($host, $user, $password, $database);

其次,像这样循环你的结果:

while ( $row = $getFundsResult->fetch_object() ) {
    echo "<option value = '" . $row->fundID ."'>" . $row->name . "</option>";

}
于 2013-01-18T14:03:08.200 回答