我在PHP中有一个函数,它给我一些来自DB的值
$select = mysql_query("SELECT * FROM sfide WHERE accepted = 0");
if($select){
if(mysql_fetch_row($select) != 0){
$sep = "~";
$return = "";
$i = 0;
while($row = mysql_fetch_array($select)){
if($i > 0){
$return = $return.",";
};
$return = $return.$row['id'].$sep.$row['from_'];
$i += 1;
}
return $return;
}else{
return "NO";
}
}else{
return "E, 000, SELECT, ".mysql_error();
}
问题在于,如果我喜欢上面的代码,它什么都不返回,相反,如果我复制了它的选择变量:
$select = mysql_query("SELECT * FROM sfide WHERE accepted = 0");
$num_select = mysql_query("SELECT * FROM sfide WHERE accepted = 0");
if($select){
if(mysql_fetch_row($num_select) != 0){
$sep = "~";
$return = "";
$i = 0;
while($row = mysql_fetch_array($select)){
if($i > 0){
$return = $return.",";
};
$return = $return.$row['id'].$sep.$row['from_'];
$i += 1;
}
return $return;
}else{
return "NO";
}
}else{
return "E, 000, SELECT, ".mysql_error();
}
为什么?
答案 0 :(得分:1)
而不是
mysql_fetch_row($select) != 0
使用
mysql_num_rows($select) != 0
将返回int
供您比较。