Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Skrypt zapisujący zawartość formularza w bazie MySQL
Forum PHP.pl > Forum > Przedszkole
Slavko
Witam! Mam problem. Piszę skrypt, który ma za zadanie zapisywać wprowadzoną przez użytkownika ilość zdobytych punktów, zarobionej forsy i czas w jakim zostało to wykonane w pewnej grze. Skrypt ma najpierw sprawdzać, czy dany rekord już istnieje, jeśli tak, powiększać obecną zawartość rekordu o to, co użytkownik wprowadził w formularzu, a jeśli nie, stworzyć nowy rekord z tymi danymi. Nawet coś już skrobnąłem, ale niestety nie działa jak powinno. Skrypt jedyne co robi dobrze, to aktualizuje rekordy, nic poza tym. Żadnych errorów nie widać. Oto kawałek kodu odpowiedzialny za wysyłanie danych:

  1. @mysql_connect($config['hn'],$config['un'],$config['pw']);
  2. $db_found = @mysql_select_db("$config[db]");
  3.  
  4. if ($db_found) {
  5. $SQL = "SELECT * FROM `yellowknife` WHERE `Name`='$nick'";
  6. $result = mysql_query($SQL);
  7. };
  8. if ($result = FALSE){
  9. mysql_query("INSERT INTO `yellowknife` (Name, Score, `Time`, Money) values ('$nick', '$score', '$time', '$money');");
  10. }else{
  11. mysql_query("UPDATE `yellowknife` SET Score=Score+'$score', Time=Time+'$time', Money=Money+'$money' WHERE Name='$nick';");
  12. };


Mam nadzieję, że wskażecie mi co jest nie tak winksmiley.jpg
Pilsener
Cytat
Żadnych errorów nie widać.


1. NIE używamy @ przed nazwami funkcji
2. Zapytania do bazy wykonujemy tak:
  1. $pytek = 'zapytanie sql';
  2. if(mysql_query($pytek)){
  3. echo 'sukces';
  4. }else{
  5. }

3. Poczytaj co zwracają zapytania insert i update wykonane poprawnie i jak się do tego dobrać:
http://pl.php.net/manual/pl/function.mysql-query.php

Inaczej guzik będziesz wiedział, co skrypt robi a czego nie.
blahy
w php w warunku if przy porownywaniu uzywamy podwojnego znaku = : if($zm == 7) i nie mozna o tym zapominac. warto zapisywac rownanie odwrtnie zeby uniknac takich bledow: if(7 == $zm). wtedy nie da sie popelnic tego bledu. u Ciebie $result = false, czyli cale wyrazenie ma wartosc false czyli wykonuje sie kod zawarty w else (update). nie ma sily zeby wykonal sie kod z tworzeniem rekordu winksmiley.jpg
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.