我有一个函数,它生成下拉<select> <option>的内容。
<select>
<option></option>
<option name="the-correct-display">The Correct Display</option>
<option></option>
<option name="the-correct-display">The Correct Display</option>
<option></option>
</select>知道我为什么要得到空白吗?以下是功能:
function catalogGetColors($mysqli)
{
$query = 'SELECT sectionName FROM sections';
if($result = $mysqli->query($query)){
while($row = $result->fetch_array(MYSQLI_BOTH)){
$optName = strstr(strtolower(str_replace(' ', '-', $row['pName'])), '-', true);
printf('<option name="%s">%s<option>', $optName, $row['pName']);
}
} else {
printf('Something went wrong.');
}
}这是一个可以在内部使用的原型构建,所以我不担心准备好的语句或PDO (目前为止)。
发布于 2014-07-21 23:14:56
通过使用MYSQLI_ASSOC常量,此函数的行为将与mysqli_fetch_assoc()相同,而MYSQLI_NUM的行为将与mysqli_fetch_row()函数相同。最后一个选项MYSQLI_BOTH将创建一个具有两个属性的数组。
从本质上说,通过使用MYSQLI_BOTH,您的输出结果将以和的关联格式返回,并带有数值索引,从而导致结果重复,这可能就是您获得空值的原因。
您应该在这里使用MYSQLI_ASSOC:
while($row = $result->fetch_array(MYSQLI_ASSOC)){https://stackoverflow.com/questions/24876346
复制相似问题