[英]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.