如何使用数组更新MySQL表中的多个字段?

时间:2015-01-26 06:10:35

标签: php mysql arrays

我想更新MySQL数据库条目。为此,我使用的是PHP表单。我以数组的形式输入数据(字段名作为键,数据作为值),以及要编辑的条目的id。但是如何使用数组更新条目?

我使用类似的数组通过使用以下代码插入新条目 -

array_walk($register_data, 'array_sanitize');
$register_data['password'] = md5($register_data['password']);

$fields = '`' . implode('`, `', array_keys($register_data)) . '`';
$data = '\'' . implode('\', \'', $register_data) . '\'';

mysql_query("INSERT INTO `users` ($fields) VALUES ($data)"); 

但是如何更新现有行?

3 个答案:

答案 0 :(得分:1)

请尝试以下方法: -

$arr = array('name' => 'kh', 'phone' => 23456);

$s = "UPDATE table_name SET ";

foreach($arr as $k => $v){
   $s .= $k."='". $v."', ";
}

$s = rtrim($s, ", ");

$s .= " where id = 1";

echo $s;

输出将是: -

  

UPDATE table_name SET name =' kh',phone =' 23456'其中id = 1

答案 1 :(得分:0)

使用UPDATE查询,

UPDATE(表名)设置(字段名称)=(新值)其中(您的条件)。

UPDATE table_name SET column1 = value1,column2 = value2,... some_column = some_value;

答案 2 :(得分:0)

$userData = array();
foreach ($userList as $user) {
    $userData[] = '("' . $user['first_name'] . '", "' . $user['last_name'] . '")';
 }
$query = 'INSERT INTO users (first_name,last_name) VALUES' . implode(',', $userData);
mysql_query($query);

您也可以为$ fields执行此操作。