繁体   English   中英

php mysql从表单值生成更新语句

[英]php mysql update statment generation from form values

我正在创建一个非常小的数据库抽象层,我想发送从表单中获取的变量数组,并生成更新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";

您可以使用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";

您可以使用类似:

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

但您需要注意一些特殊情况,例如,当值为null或日期时

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM