Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL] Zapytanie złożone
ManiQu
post
Post #1





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 2.09.2007

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


Witam.
Co w tym zapytaniu jest źle, bo skrypt go nie wykonuje? (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
  1. <?php
  2. $liczby = range(1,49);
  3. $klucze = array_rand($liczby, 6);
  4. mysql_query("UPDATE lotto SET
  5. `lotto1` = '{$klucze[0]}',
  6. `lotto2` = '{$klucze[1]}',
  7. `lotto3` = '{$klucze[2]}',
  8. `lotto4` = '{$klucze[3]}',
  9. `lotto5` = '{$klucze[4]}',
  10. `lotto6` = '{$klucze[5]}'")
  11. ?>
Go to the top of the page
+Quote Post
Cienki1980
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Wykorzystaj mysql_error() i zobacz jaki błąd jest zwracany przez bazę danych. Wtedy będziesz miał więcej informacji co może być nie tak.
Go to the top of the page
+Quote Post
ManiQu
post
Post #3





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 2.09.2007

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


Problem w tym, że nie wywala żadnego błędu. A na dodatek serwer, którego używam nigdy nie wywala ostrzeżeń, tylko błędy wewnętrzne. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
phpion
post
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Może brak średnika po mysql_query()? Jeśli nie to zrób jak pisze ~Cienki1980 czyli:
  1. <?php
  2. mysql_query('UPDATE....') or die (mysql_error());
  3. ?>

i zobacz co zostanie wypisane.
Go to the top of the page
+Quote Post
nevt
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


a nie brakuje ci spacji po SET (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
ManiQu
post
Post #6





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 2.09.2007

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


Średnik dodałem, spacje dodałem, mysql_error dodałem i nic. Dalej nie dodało do bazy ani nie wywaliło błędu. Jeśli chodzi o łączenie z bazą to na pewno jest ok, bo już używałem SELECT'a.
Go to the top of the page
+Quote Post
phpion
post
Post #7





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Pokaż co Ci wyświetli:
  1. <?php
  2. echo "UPDATE lotto SET
  3. `lotto1` = '{$klucze[0]}',
  4. `lotto2` = '{$klucze[1]}',
  5. `lotto3` = '{$klucze[2]}',
  6. `lotto4` = '{$klucze[3]}',
  7. `lotto5` = '{$klucze[4]}',
  8. `lotto6` = '{$klucze[5]}'";
  9. ?>
Go to the top of the page
+Quote Post
ManiQu
post
Post #8





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 2.09.2007

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


  1. <?php
  2. UPDATE lotto SET `lotto1` = '3', `lotto2` = '24', `lotto3` = '38', `lotto4` = '41', `lotto5` = '46', `lotto6` = '47'
  3. ?>
Go to the top of the page
+Quote Post
phpion
post
Post #9





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Hmmm, a że tak zapytam: co to zapytanie ma robić? Wydaje mi się, że chcesz po prostu wpisać dane do bazy (która pewnie aktualnie jest pusta) bo nie masz żadnego warunku w WHERE. Faktycznie to zapytanie powinno zaktualizować wszystkie rekordy w tabeli co chyba nie jest Twoim zamierzeniem. Stąd myślę, że chcesz te dane wpisać do bazy, a do tego celu stosuje się INSERT INTO a nie UPDATE:
  1. <?php
  2. $liczby = range(1,49);
  3. $klucze = array_rand($liczby, 6);
  4. mysql_query("INSERT INTO lotto SET
  5. `lotto1` = '{$klucze[0]}',
  6. `lotto2` = '{$klucze[1]}',
  7. `lotto3` = '{$klucze[2]}',
  8. `lotto4` = '{$klucze[3]}',
  9. `lotto5` = '{$klucze[4]}',
  10. `lotto6` = '{$klucze[5]}'");
  11. ?>
Go to the top of the page
+Quote Post
nevt
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


Cytat
Dalej nie dodało do bazy...

skoro chcesz DODAWAć a nie AKTUALIZOWAć to powinno być INSERT a nie UPDATE ....
Go to the top of the page
+Quote Post
ManiQu
post
Post #11





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 2.09.2007

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


Ok, działa. A czy można coś zrobić, aby nie losowało 0? Niby losuje od 1 do 49 ale zdarza się, że występuje 0 :/
Go to the top of the page
+Quote Post

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: 23.08.2025 - 02:00