Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Multi-insert + bindowanie
Forum PHP.pl > Forum > Przedszkole
-kamil_lk-
Cześć.

W jaki sposób mogę sobie przebindować mojego inserta, który ma postać:

  1. INSERT INTO `table_name`(`id`, `id_a`, `id_b`) VALUES ('1', '1', '1'), ('2', '2', '2'), ('3', '3', '3')
Daimos
Już się nie męcz, masz, "przebindowałem" Ci:

A poważnie, to może byś napisał o co dokładniej chodzi, PDO? Zwyczajne podstawianie?
-kamil_lk-
mam tablicę id_b, która przechowuje wartości jak poniżej
  1. [0] => 1,
  2. [1] =>2,
  3. [2] => 3
  4. )


oraz mam metodę, która wstawia mi dane do tabeli
  1. public function addObjectToUser($id_user, $id_flows)
  2. {
  3. $query = "INSERT INTO `table_name`(`id_a`, `id_b`, `id_c`) VALUES ";
  4. foreach($id_b as $value){
  5. $query .= "('".$id_a."', '".$value."', '1'),";
  6. }
  7. $query = substr($query, 0, -1);
  8. $result = $this->pdo->exec($query);
  9. die();
  10. }


W przypadku, gdy id_b nie jest tablicą tylko jakąś wasrtością to bez problemu mogę sobie bindować zapytanie w sposób podany poniżej.
  1. $query = "INSERT INTO `table_name`(`id_a`, `id_b`, `id_c`) VALUES (:id_a, :id_b, 1)";
  2. $result = $this->pdo->prepare($query);
  3. $result->bindValue(':id_a', $id_a, PDO::PARAM_INT);
  4. $result->bindValue(':id_b', $id_b, PDO::PARAM_INT);
  5. $result->execute();


W jaki sposób mogę przebinować wartości w moim przykładzie, gdzie id_b jest tablicą?
-kamil_lk-
w powyższym przykłądzie ma być oczywiście
  1. public function addObjectToUser($id_a, $id_b)
Turson
W pętli możesz przebindować
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.