一个程序本身的问题,学习时发现的

2016-07-07 15:22 来源:www.chinab4c.com 作者:ecshop专家

目录upload\includes\cls_mysql.php文件中
autoReplace函数中
if (is_numeric($value))
{
$where[] = $value . ' = ' . $field_values[$value];
}else
{
$where[] = $value . " = '" . $field_values[$value] . "'";
}
这段里面is_numeric的参数是不是错了,应该改成$filed_values[$value]?

回答:
这个么关系.EC的数组本身就是key/value对出现的。而且PHP是弱数据类型

你好!我的意思是,从上面的程序来看,$value是指数据表的字段名,在这里应该判定的是$field_values[$value]是否是数字或者是数字字符串,如果是就把字段名($value)=数字($field_values[$value])赋值给数组where[],如果不是,就应该把 字段名($value)=‘ 非数字($field_values[$value]) ’,赋值给数组where[],else后的那个多了个引号!!!!
如果判定$value是不是数字字符串,这个貌似毫无意义把!!

呵呵应该是这样吧!