jjzjj

PHP PDO : How to insert multiple rows?

coder 2024-04-07 原文

我有很多 sql 语句,但我想要,但我想知道是否有任何方法或函数可以使用 PHP PDO 缩短并在尽可能少的行中执行。

我的一个想法是创建一个具有以下名称的数组:Perfiles、Usuarios、Customer、Mps、Poliza 和 Servicios 在一起就像 foreach,但我没有具体的想法,你能帮我吗?

SQL 语句

$sqlpermsPer = "INSERT INTO t_perfiles_permisos (Id_Perfil, Area_Permiso, Buscar, Crear, Eliminar, Modificar)
                                            VALUES ($idPerfil,'Perfiles',0,0,0,0)";
$resultpermsPer = $this->dbConnect->query($sqlpermsPer) or die ($sqlpermsPer);

sqlpermsC = "INSERT INTO t_perfiles_permisos (Id_Perfil, Area_Permiso, Buscar, Crear, Eliminar, Modificar)
                                            VALUES ($idPerfil,'Clientes',0,0,0,0)";
$resultpermsC = $this->dbConnect->query($sqlpermsC) or die ($sqlpermsC);

$sqlpermsU = "INSERT INTO t_perfiles_permisos (Id_Perfil, Area_Permiso, Buscar, Crear, Eliminar, Modificar)
                                            VALUES ($idPerfil,'Usuarios',0,0,0,0)";
$resultpermsU = $this->dbConnect->query($sqlpermsU) or die ($sqlpermsU);

$sqlpermsM = "INSERT INTO t_perfiles_permisos (Id_Perfil, Area_Permiso, Buscar, Crear, Eliminar, Modificar)
                                            VALUES ($idPerfil,'Mps',0,0,0,0)";
$resultpermsM = $this->dbConnect->query($sqlpermsM) or die ($sqlpermsM);

$sqlpermsP = "INSERT INTO t_perfiles_permisos (Id_Perfil, Area_Permiso, Buscar, Crear, Eliminar, Modificar)
                                            VALUES ($idPerfil,'Poliza',0,0,0,0)";
$resultpermsP = $this->dbConnect->query($sqlpermsP) or die ($sqlpermsP);

$sqlpermsS = "INSERT INTO t_perfiles_permisos (Id_Perfil, Area_Permiso, Buscar, Crear, Eliminar, Modificar)
                                            VALUES ($idPerfil,'Servicio',0,0,0,0)";
$resultpermsS = $this->dbConnect->query($sqlpermsS) or die ($sqlpermsS);

提前致谢!

最佳答案

这会创建一个包含您的字符串的数组,并循环遍历它们,每次都使用绑定(bind)参数执行相同的查询。

$stmt = $this->dbConnect->prepare("INSERT INTO t_perfiles_permisos (Id_Perfil, Area_Permiso, Buscar, Crear, Eliminar, Modificar) VALUES (:idPerfil,:str,0,0,0,0)");
$stmt->bindParam(':idPerfil', $idPerfil);
$stmt->bindParam(':str',$val);
$in_arr = array("Perfiles","Clientes","Usuarios","Mps","Poliza","Servicio");

foreach ($in_arr as $key => $val) {
    $stmt->execute();
}  

关于PHP PDO : How to insert multiple rows?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12232085/

有关PHP PDO : How to insert multiple rows?的更多相关文章

随机推荐