当我进行sql查询并将其回显时,它会重复第一行两次
$sql = 'SELECT one,two,three FROM justAnExampleForSO where one = one';
$info = mysql_query(sql);
if(mysql_num_rows($info )>0){
while ($row = mysql_fetch_array($info )) {
foreach($row as $key => $var)
{
if($key == 'one')
echo $var.",";
else if($key == 'two')
echo $var.",";
else if($key == 'three')
echo $var.";";
}
}
}
所以例如说我试图获得一,二,三的cols 当输出被回显时,它将回显
one, one, two,three;
我不确定这是否与此问题重复,因为我无法完全理解他的问题。 Fetch array function doubling values in each position of array?
答案 0 :(得分:2)
因为mysql_fetch_array
返回数字索引值和字符串索引,并且由于类型转换规则的有趣性"one"
等于0
。使用===
代替==
来阻止这种情况,或使用mysql_fetch_assoc
放弃您未使用的数字索引。
您应该比foreach..if..else
更简单地执行此操作:
echo $row['one'], ', ', $row['two'], ', ', $row['three'], ';';