Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Zapytanie złożone
Forum PHP.pl > Forum > Przedszkole
ManiQu
Witam.
Co w tym zapytaniu jest źle, bo skrypt go nie wykonuje? 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. ?>
Cienki1980
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.
ManiQu
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. tongue.gif
phpion
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.
nevt
a nie brakuje ci spacji po SET questionmark.gif
ManiQu
Ś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.
phpion
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. ?>
ManiQu
  1. <?php
  2. UPDATE lotto SET `lotto1` = '3', `lotto2` = '24', `lotto3` = '38', `lotto4` = '41', `lotto5` = '46', `lotto6` = '47'
  3. ?>
phpion
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. ?>
nevt
Cytat
Dalej nie dodało do bazy...

skoro chcesz DODAWAć a nie AKTUALIZOWAć to powinno być INSERT a nie UPDATE ....
ManiQu
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 :/
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.