Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Pętla foreach insert do bazy.
cykcykacz
post
Post #1





Grupa: Zarejestrowani
Postów: 550
Pomógł: 9
Dołączył: 29.05.2009
Skąd: Ostrów Wielkopolski

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


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);


Ten post edytował cykcykacz 16.04.2013, 12:54:31
Go to the top of the page
+Quote Post
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


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'

Ten post edytował CuteOne 16.04.2013, 12:55:18
Go to the top of the page
+Quote Post
matiit
post
Post #3





Grupa: Zarejestrowani
Postów: 365
Pomógł: 70
Dołączył: 5.04.2009

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


Przekaż co trzeba do mysqli_error, ($con) i zobaczysz dokładny błąd.
Go to the top of the page
+Quote Post
cykcykacz
post
Post #4





Grupa: Zarejestrowani
Postów: 550
Pomógł: 9
Dołączył: 29.05.2009
Skąd: Ostrów Wielkopolski

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


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. ?>


Ten post edytował cykcykacz 16.04.2013, 14:23:34
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 23:33