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

这个是别人写的函数,连接数据库把查询结果放在数组中返回function_db_query($sql,$conn){$res=mysql_query($sql,$conn)... 这个是别人写的函数,连接数据库把查询结果放在数组中返回
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;
}
展开
 我来答
匿名用户
2014-10-11
展开全部
mysql_query执行成功的话, 返回是的一个数据源标示,可以理解为真,如果失败的话, 会返回假, 也就是false
而执行成功的话, 那么$res当然也是真, 感叹号是否定的意思,那么
!$res是否定返回的是真, 也就是为假的话
那顾名思义, if ( !$res ) 意思就是如果假的话, 也就是sql执行不成功
丸子爸爸的日常
推荐于2016-09-18 · 知道合伙人软件行家
丸子爸爸的日常
知道合伙人软件行家
采纳数:857 获赞数:985
PHP攻城狮,熟悉js,jq,css,html

向TA提问 私信TA
展开全部
$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; //返回结果集数组
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式