为了账号安全,请及时绑定邮箱和手机立即绑定

求解php中function update中的一个问题

求解php中function update中的一个问题

PHP
慕粉3866342 2016-10-01 12:09:08
//更新数据库记录语句:update imooc_admin set username = 'king' where id =1function update($table, $array,$where=NULL){    //遍历数组取出数值    foreach ($array as $key =>$val ){        if($str==null){            $sep="";        }else{            $sep=",";        }    }        $str.=$sep.$key."='".$val."'";        $sql="update{$table}set{$str}".($where==null?null:"where".$where);        mysql_query($sql)        return mysql_affected_rows();//mysql_affected_rows() 函数返回前一次 MySQL 操作所影响的记录行数。}请问里面的$str哪里来的,还没定义就能开始判断是否为空了?????
查看完整描述

3 回答

?
KevenHuang

TA贡献280条经验 获得超233个赞

这个$str 应该是要先定义并赋值为空才行的,否则这段程序将会报错。因为没有找到一个叫$str的字符串并和他进行拼接,所以应该在foreach外面定义一个变量$str并赋值为空

查看完整回答
反对 回复 2016-10-01
  • 慕粉3866342
    慕粉3866342
    我也这么认为,但是它确实里面的源码确实是这样,而且也没报错
  • KevenHuang
    KevenHuang
    这个函数你有真实调用过吗?我在自己本地测试$str .= 'abc';这样写是报错的。
?
雪颲

TA贡献220条经验 获得超117个赞

php不需要事先定义变量啊

查看完整回答
反对 回复 2016-10-01
  • 慕粉3866342
    慕粉3866342
    的确不需要,但是你不可能一上来就判断$str是否为空,,这是几个意思呢
  • 3 回答
  • 0 关注
  • 2028 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信