php + Mysql又遇到一问题,读字段值变空 现使用for($i=0 ; $i< mysql_num_fields( ## ); $i++){} 来逐个显示字段值时,可以显示所有字段且在下一句显示字段 last为 11952.561而后将for(..)这一段注释掉,直接显示字段 last时,返回为空郁闷,卡在这一步好久了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就是我用$a = mysql_query($sql);然后直接取$a的一个字段值,返回是空的,有些字段有返回,而有些字段就返回空的,郁闷 在for(){ 里面,var_dump()返回完全正常}var_dump(); ->返回为NULL. 嗯,我代码贴出来: $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;后调试为: $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(){}这边 我怀疑是你的echo语句出问题了,你分别echo下,看能不能echo出15411.11 没有,试了N次了,var_dump($b['lsid']);返回为NULL $a = mysql_query("select * From c_ad Where u='".$uid."' And SessionID='".$sessionID."'"); $b = mysql_fetch_array($a);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; 解决了,是字段的大小写问题$b['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) exit;}也许可能返回到结果中有多行,其中有的行lsid字段是空的,而该行刚好是第一行,而你只取了第一行。建议用个循环把所有行打印出来,应该很快就能找到原因了。 PHP code$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字段是空的,而该行刚好是第一行,而你只取了第一行。建议用个循环把所有行打印出来,应该很快就能找到原因了。 有人熟悉淘宝机票上传政策吗 Call to a member function fetch() on a non-object错误 如何远程获取ajax页面的数据 想学PHP,请问现在一般都装什么linux系统? PHP程序在mysql字段中保存html代码问题. 本地使用的lnmp的虚拟机环境,线上也是lnmp环境,但是线上真的是严格区分大小写 要学习,使用php需要在电脑上装什么软件? 如何用PHP实现用图示来表示数据?? 我想找个去掉htm所有标签的正则表达式(在线求助) 关于视频直播(websocket+php) mysql数据库连接问题 dz 中是怎样实现文件批量上传的??
$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字段是空的,而该行刚好是第一行,而你只取了第一行。建议用个循环把所有行打印出来,应该很快就能找到原因了。