获取所有列名称并将其转换为变量然后再返回

时间:2012-01-29 05:11:30

标签: php mysql

如果我有一个包含列名称,地址,状态(例如)的表格,我怎样才能将每个列表变成一个变量名称 - 例如我不希望这样做很长的

$name=$table['name'];
etc etc

然后我希望快速升级它们而不需要很长的路径

UPDATE name='$name', address='$address' etc etc

1 个答案:

答案 0 :(得分:0)

在PHP中,extract()函数根据您给出的关联数组参数中的键创建变量。

$table['name'] = 'bob';
extract($table);
print $name; // prints bob

请参阅http://php.net/extract


如果你想从一个哈希数组动态生成一个UPDATE语句,我会用这种方式用查询参数来做:

$table = array('name' = 'bob' ...etc);
$sql = "UPDATE mytable SET " 
  . join(",", array_map(function($field) { return "$field=:$field"; }, $table)) 
  . " WHERE ...";
$stmt = $pdo->prepare($sql);
$stmt->execute($table);