Mam tablicę asocjacyjną, która ma klucze id, home, away, result. Chciałbym teraz wartości z tej tablicy wstawić do tabeli Teams odpowiednio do kolumn id, home, away i result. W jaki sposób mogę to zrobić, dodam że tych rekordów będzie kilkanaście.
Jak wstawić wartości z tablicy asocjacyjnej do bazy danych ?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 69
- Rejestracja: dni
- Ostatnio: dni
- Postów: 1135
No robisz Insert into (id) values (tab["id"]). Osobiście odradzam jakieś pętlę, bo nieumiejętnie to robiąc narazisz się na slqinjection. Zatrzymałem się na PHP5.6 więc nie iem czy jest coś w stylu mysqli_insert_assoc, na szybko nie znalazłem
- Rejestracja: dni
- Ostatnio: dni
- Postów: 10307
phpowiec napisał(a):
Mam tablicę asocjacyjną, która ma klucze
id, home, away, result. Chciałbym teraz wartości z tej tablicy wstawić do tabeliTeamsodpowiednio do kolumnid, home, away i result. W jaki sposób mogę to zrobić, dodam że tych rekordów będzie kilkanaście.
<?php
$hostname = 'localhost';
$database = 'moja baza';
$username = 'root';
$password = '845625';
$pdo = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
$statement = $pdo->prepare('INSERT INTO moja_tablka (name, lastname, age) VALUES (:fname, :sname, :age)');
$statement->execute([
'fname' => 'Bob',
'sname' => 'Desaunois',
'age' => '18',
]);
Nie używaj tych funkcji mysqli_.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 1135
Riddle napisał(a):
Nie używaj tych funkcji
mysqli_.
Coś się zmieniło? Akurat te z i na końcu były bezpieczne
- Rejestracja: dni
- Ostatnio: dni
- Postów: 10307
Dregorio napisał(a):
Riddle napisał(a):
Nie używaj tych funkcji
mysqli_.Coś się zmieniło? Akurat te z
ina końcu były bezpieczne
"Bezpieczne"? Razem z mysqli implementacja drivera się zmieniła, ale interfejs tych funkcji nadal jest tak samo słaby jak był.
Nadal nie mają prepared statements, więc są bardzo słabe.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 1135
Za moich czasów w 5.6 bodaj można było zamiennie używać mysqli i pdo, oba były "dopuszczalne"
- Rejestracja: dni
- Ostatnio: dni
- Postów: 10307
Dregorio napisał(a):
Za moich czasów w 5.6 bodaj można było zamiennie używać
mysqliipdo, oba były "dopuszczalne"
Nie ma powodu żeby wybrać mysqli zamiast PDO. Ma same wady i żadnych zalet.