现使用for($i=0 ; $i< mysql_num_fields( ## ); $i++){} 来逐个显示字段值时,可以显示所有字段
且在下一句显示字段 last为 11952.561而后将for(..)这一段注释掉,直接显示字段 last时,返回为空郁闷,卡在这一步好久了
且在下一句显示字段 last为 11952.561而后将for(..)这一段注释掉,直接显示字段 last时,返回为空郁闷,卡在这一步好久了
$a = mysql_query($sql);
然后直接取
$a的一个字段值,返回是空的,有些字段有返回,而有些字段就返回空的,郁闷
for(){
里面,var_dump()返回完全正常
}
var_dump(); ->返回为NULL.
$a = mysql_query("select * From c_ad Where u='".$uid."' And SessionID='".$sessionID."'");
for( $i=0; $i < mysql_num_fields($a); $i++ ){ var_dump($b[$i].'<br />'); //返回的lsid " string(19) "15411.11 }
echo($b['u'].'____'.$b['lsid']); //返回结果: admin___(正确应为:admin__15411.11)
exit;就是没有返回那个lsid字段的值,除了在for(){}这边
var_dump($b);
echo($b['u'].'____'.$b['lsid']); //返回结果: admin___(正确应为:admin__15411.11) exit;如果你只有一条结果的话,最好加上limit 0,1子句.
如果有多条,你这样写只能读第一条.
数据库表里有没有这个字段? $a = mysql_query("select * From c_ad Where u='".$uid."' And SessionID='".$sessionID."'"); $b = mysql_fetch_array($a); echo($b['u'].'____'.$b['lsid']); //返回结果: admin___(正确应为:admin__15411.11) //在这里就可以测试到了 exit;
//在这个地方加上:
print_r($b);//看看是什么.如果有值,要注意是一维还是二维数组,并且是$b[0]取值还是$b['lsid'].如果为空,就要看SQL和结果集了
echo($b['u'].'____'.$b['lsid']); //返回结果: admin___(正确应为:admin__15411.11) //在这里就可以测试到了 exit;
$a = mysql_query("select * From c_ad Where u='".$uid."' And SessionID='".$sessionID."'"); while( $b = mysql_fetch_array($a)){ echo($b['u'].'____'.$b['lsid']); //返回结果: admin___(正确应为:admin__15411.11) exit;}也许可能返回到结果中有多行,其中有的行lsid字段是空的,而该行刚好是第一行,而你只取了第一行。建议用个循环把所有行打印出来,应该很快就能找到原因了。
$a = mysql_query("select * From c_ad Where u='".$uid."' And SessionID='".$sessionID."'"); while( $b = mysql_fetch_array($a)){ echo($b['u'].'____'.$b['lsid']); //返回结果: admin___(正确应为:admin__15411.11) }也许可能返回到结果中有多行,其中有的行lsid字段是空的,而该行刚好是第一行,而你只取了第一行。建议用个循环把所有行打印出来,应该很快就能找到原因了。