Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Pętla foreach insert do bazy.
Forum PHP.pl > Forum > Przedszkole
cykcykacz
Hej,
chcę dodać do tabeli kilka wierszy przy pomocy pętli ale albo dodaje mi tylko ostatnią wartość z tablicy albo dostaję taki error.
Kod
Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\wamp\www\elementyphp\sql\petla.php on line 18
Call Stack

  1. $tablica = '03/22/2013,03/29/2013,03/26/2013,04/02/2013,04/09/2013,04/16/2013,04/23/2013';
  2. $x = explode(",",$tablica);
  3.  
  4. $con=mysqli_connect("localhost","root","","wordpress3");
  5. // Check connection
  6. if (mysqli_connect_errno())
  7. {
  8. echo "Failed to connect to MySQL: " . mysqli_connect_error();
  9. }
  10. foreach ($x as $wartosc) {
  11. $sql="INSERT INTO wp_test (test) VALUES ('$wartosc')";
  12. }
  13. if (!mysqli_query($con,$sql))
  14. {
  15. die('Error: ' . mysqli_error());
  16. }
  17. echo "1 record added";
  18.  
  19.  
  20. mysqli_close($con);
CuteOne
1. Jeżeli dodaje tylko ostatnią to masz klucz na polu `name` i musisz podawać unikalne wartości
2. Ten błąd jak sam wskazuje, mówi o tym, ze nie podałeś '$con'
matiit
Przekaż co trzeba do mysqli_error, ($con) i zobaczysz dokładny błąd.
cykcykacz
Faktycznie w tej testowej tabelce mam dwie kolumny.
Id które jest kluczem głównym i ma autoincremant.
Oraz kolumna test.

Myślałem, że id będzie się samo automatycznie wypełniać.

Co mam na to poradzić?

Zrezygnować z id z kluczem?

Dorba już sobie poradzę.
Dzięki!

Jak co poprawne rozwiązanie
  1. <?php
  2.  
  3. $tablica = '03/22/2013,03/29/2013,03/26/2013,04/02/2013,04/09/2013,04/16/2013,04/23/2013';
  4. $x = explode(",",$tablica);
  5.  
  6.  
  7. $con=mysqli_connect("localhost","root","","wordpress3");
  8. // Check connection
  9. if (mysqli_connect_errno())
  10. {
  11. echo "Failed to connect to MySQL: " . mysqli_connect_error();
  12. }
  13.  
  14. foreach ($x as $wartosc) {
  15. $sql="INSERT INTO wp_test (test) VALUES ($wartosc)";
  16.  
  17. if (!mysqli_query($con,$sql))
  18. {
  19. die('Error: ' . mysqli_error($con));
  20. }
  21. echo "1 record added";
  22. }
  23.  
  24.  
  25.  
  26. mysqli_close($con);
  27. ?>
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.