我有这样的查询
select fname,joined_date from employees where id=1
目前我用来显示这个返回的员工详细信息的日期格式是 Ymd。但是现在我需要将默认的mysql格式Ymd转换为d/m/Y(在所有日期信息显示字段中)。
对我来说,通过所有文件进行日期格式转换非常困难。
所以我想在我的数据库类中做一些这样的事情。我在我的数据库类中有一个这样的函数
function fetch($res){
$row = mysql_fetch_assoc($res);
foreach($row as $key=>$value){
if(preg_match('/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/',$value))
$row[$key] = date('d/m/Y',strtotime($value));
}
return $row;
}//end function
我正在像这样使用这个功能
$row = $db->fetch($res);
或者
while($row = $db->fetch($res)){...}
我得到了预期的输出,但有一条错误消息
foreach 的无效参数
看起来 fetch 函数代码执行了 (total_num_rows + 1) 次
如果我使用 for 循环而不是 foreach,则会出现未定义的偏移错误
目前我正在使用这样的东西来逃避
if(is_array($row)){...}
当我查找 $res 类型时,它显示资源(第一次迭代),资源(第二次)
对于 $row 数组
数组(第一次迭代),布尔值(第二次)
谁能告诉我为什么会这样?还是有更好的方法来做到这一点?
提前致谢。