php+mysql代码中一些看不懂,解释一下

这个是别人写的函数,连接数据库把查询结果放在数组中返回
function _db_query($sql,$conn)
{
$res=mysql_query($sql,$conn);

if(!$res) //为什么要这个,返回数组
{
return array();
}

$arr=array();

for($i=0,$l=mysql_fetch_row($res);$l;$l=mysql_fetch_row($res),$i++) //括号内的什么意思
{
$arr[$i]=$l;
}

return $arr;
}

mysql_query执行成功的话, 返回是的一个数据源标示,可以理解为真,如果失败的话, 会返回假, 也就是false
而执行成功的话, 那么$res当然也是真, 感叹号是否定的意思,那么
!$res是否定返回的是真, 也就是为假的话
那顾名思义, if ( !$res ) 意思就是如果假的话, 也就是sql执行不成功
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-09-18
$res=mysql_query($sql,$conn); //查询成功,返回true,否则返回false
if(!$res) //判断查询是否成功
{
return array(); //不成功返回空数组
}
//否则成功,返回结果集的数组
$arr=array();
// mysql_fetch_row($res),所结果集中返回一个枚举数组
// $l=mysql_fetch_row($res),$l为枚举数组,如果没有返回,$l =false

//for()的第二个参数$l ;判断是否真,即是for()参数一中的mysql_fetch_row($res)是否有取到数组

//for()的第三个参数$l=mysql_fetch_row($res);继续取出枚举数组

for($i=0,$l=mysql_fetch_row($res);$l;$l=mysql_fetch_row($res),$i++)
{
$arr[$i]=$l; //每一个结果都放入数组$arr的尾部
}
//返回结果集,我比较喜欢这样写
/*
$length = mysql_num_rows($res)
for($i=0;$i<$length;$i++){
$arr[$i] = mysql_fetch_row[$res];

}

*/

return $arr; //返回结果集数组
}本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网