我最近被告知要停止使用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++;
}
当前的问题是没有返回任何数据。如上所述,我也在寻找能够在循环结果中产生最少输入的方法
答案 0 :(得分:5)
首先,您可以省略$link->connect(..)
:
$mysqli = new mysqli($host, $user, $password, $database);
其次,循环你的结果如下:
while ( $row = $getFundsResult->fetch_object() ) {
echo "<option value = '" . $row->fundID ."'>" . $row->name . "</option>";
}