从表单值生成php mysql update语句

时间:2010-02-03 03:01:51

标签: php mysql sql sql-update

我正在创建一个非常小的数据库抽象层,我想发送一个从表单中获取的变量数组,并生成一个更新sql语句,并最终执行它。 我在下面的倒数第二行放什么? 例如。

$table name = "user";
$username = $_post['username'];
$password = $_post['password'];
$email    = $_post['email'];
$array = (username=>$username, password=>$password, email=>$email);
$query = "update $this->tableName".
$query = """" The value from the assc array in the form of database value='form value' 
$query = "WHERE condition";

2 个答案:

答案 0 :(得分:3)

您可以使用foreach()循环从数组生成查询子句。请注意,您需要使用array()构造声明数组,并引用关联键。

//...
$array = array('username'=>$username, 'password'=>$password, 'email'=>$email);
$query = "update ".$this->tableName." SET ";
foreach($array as $field => $value) {
    $query .= "`".$field."`='".mysql_real_escape_string($value)."',";
}
//knock off trailing comma
$query = substr($query,0,-1);
$query .= " WHERE condition";

答案 1 :(得分:0)

您可以使用以下内容:

$a = array();
foreach($array as $key => $value)
{
    $a[] = $key . " = '" . mysql_real_escape_string($value) ."'";
}
$query = join(',', $a);

但您需要处理特殊情况,例如当值为null或日期

相关问题