一个非常小小小小小的bug
army 2022-11-27

db.func.php  303行

function db_array_to_update_sqladd($arr) {
	$s = '';
	foreach($arr as $k=>$v) {
		$v = addslashes($v); //这里已经返回了string类型
		$op = substr($k, -1);
		if($op == '+' || $op == '-') {
			$k = substr($k, 0, -1);
			$v = (is_int($v) || is_float($v)) ? $v : "'$v'";//因此此处的is_int和is_float无效
			$s .= "`$k`=$k$op$v,";
		} else {
			$v = (is_int($v) || is_float($v)) ? $v : "'$v'";//因此此处的is_int和is_float无效
			$s .= "`$k`=$v,";
		}
	}
	return substr($s, 0, -1);
}
可以修改为:
function db_array_to_update_sqladd($arr) {
$s = '';
foreach ($data as $k => $v) {
    $op = substr($k, -1);
    if ($op == '+' || $op == '-') {
        $k = substr($k, 0, -1);
        $v = (is_int($v) || is_float($v)) ? $v : "'" . addslashes($v) . "'";
        $s .= "`$k`=`$k`$op$v,";
    } else if ($op == '=') {
        $k = substr($k, 0, -1);
        $s .= "`$k`=`$v`,";
    } else {
        $v = (is_int($v) || is_float($v)) ? $v : "'" . addslashes($v) . "'";
        $s .= "`$k`=$v,";
    }
}
return substr($s, 0, -1);
}
 
最新回复 (1)
全部楼主
  • 菜鸟玩家
    2023-3-29 2
    0
    感谢楼主ing!!!
返回
army
一级用户组
1
主题数
1
帖子数

  作者最近主题   
  一个非常小小小小小的bug
扫码访问