我为一些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");
}
当我尝试使用更新某些字段时,它不会返回任何错误而且不会全部工作
答案 0 :(得分:0)
您已在列名称周围添加单引号。除非声明别名,否则标识符永远不会用单引号括起来。
UPDATE table SET color = 'red'
不是
UPDATE table SET 'color' = 'red'
这是您的代码生成的内容。如果你想允许保留字作为标识符,那么将它们包含在“反引号”中,而不是单引号'。