- 普通 - 未处理
[i=s] 本帖最后由 jiang2798 于 2010-5-14 23:06 编辑 [/i]
public function insert($data,$options=array()) {
echo 'db';
foreach ($data as $key=>$val){
$value = $this->parseValue($val);
if(is_scalar($value)) { // 过滤非标量数据
$values[] = $value;
$fields[] = $this->addSpecialChar($key);
}
if(is_array($value)) { // 允许数组存储
$values[] = var_export($value,true);
$fields[] = $this->addSpecialChar($key);
}
}
print_r($values);
$sql = 'INSERT INTO '.$this->parseTable($options['table']).' ('.implode(',', $fields).') VALUES ('.implode(',', $values).')';
$sql .= $this->parseLock(isset($options['lock'])?$options['lock']:false);
echo $sql;
return $this->execute($sql);
}
[/color]写入数据库前处理
[color=red] if(is_array($value)) { // 允许数组存储
$values[] = var_export($value,true);
$fields[] = $this->addSpecialChar($key);
}
读取:
eval("\$setting = $r[setting];");
PHP数组功能很强大,有时候一些数据直接以数组形式存储,可以减少建立字段的麻烦,希望在下个版本的时候加入这个功能。
相关函数:
var_export — 输出或返回一个变量的字符串表示
描述mixed var_export ( mixed $ex
此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。
您可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。