Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z klasą, Dodawanie danych poprzez PDO
MMySlime
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 22.08.2012

Ostrzeżenie: (0%)
-----


Witam,

stworzyłem sobie klasę łączącą z bazą danych, a w niej funkcję insert, która nie działa poprawnie. Nie ma żadnych błędów ale przeglądając bazę danych nie widać nowo dodanych wartości.

Funkcja:
  1. public function insert( $table, $values){
  2.  
  3. // Set Up Columns
  4.  
  5. $key = array_keys($values);
  6. $column = implode(',',$key);
  7. $column = '(' . $column . ')';
  8.  
  9. // Set Up Rows
  10.  
  11. $row = implode(',',$values);
  12. $row = '(' . $row . ')';
  13.  
  14. // INSERT INTO table_name (column1, column2, column3,...) VALUES (value1, value2, value3,...)
  15.  
  16. $insert = $this->db->prepare('INSERT INTO :table :column VALUES :row');
  17.  
  18. $insert->bindParam(':table', $table);
  19. $insert->bindParam(':column', $column);
  20. $insert->bindParam(':row', $row);
  21.  
  22. $insert->execute();
  23.  
  24. }


Dziękuję za wszelkie odpowiedzi (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Jak napisałem, możesz bindować jedynie wartość dla pojedynczej kolumny, tj.:
  1. INSERT INTO tbl_name (col_name_1, col_name_2, col_name_3) VALUES (:value1, :value2, :value3);
Reszta zapytania musi być złączona ręcznie.
Cytat
Nie korzystam gdyż chciałbym zrobić wreszcie coś swojego
Najpierw uczy się wykorzystywać istniejące narzędzia, później tworzy się swoje jeżeli zachodzi taka potrzeba.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 10:32