我的一个mysql类函数中的问题?

时间:2011-07-29 00:07:31

标签: php mysql

我为一些mysql写了一个php类,提议更新并将数据插入表中 每件事情都可以,只有1个功能不太好 它是我写的更新表中记录器的功能

function update($table=null,$array_of_values=array(),$conditions='FALSE') {
        if ($table===null || empty($array_of_values)) return false;
        $what_to_set = array();
        foreach ($array_of_values as $field => $value) {
            if (is_array($value) && !empty($value[0])) $what_to_set[]="'$field'='{$value[0]}'";
            else $what_to_set []= "'$field'='".mysql_real_escape_string($value,$this->con)."'";
        }
        $what_to_set_string = implode(',',$what_to_set);
        return $this->execute("UPDATE $table SET $what_to_set_string WHERE $conditions");
    }

当我尝试使用更新某些字段时,它不会返回任何错误而且不会全部工作

1 个答案:

答案 0 :(得分:0)

您已在列名称周围添加单引号。除非声明别名,否则标识符永远不会用单引号括起来。

UPDATE table SET color = 'red'

不是

UPDATE table SET 'color' = 'red'

这是您的代码生成的内容。如果你想允许保留字作为标识符,那么将它们包含在“反引号”中,而不是单引号'。