Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Mysql problem z przesyłem danych?
Forum PHP.pl > Forum > Przedszkole
szaq00
Witam mam problem z kodem niestety na stronie wyświetla mi i nie mam pomysłu co jest grane :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1



  1.  
  2. <?php
  3.  
  4. $id = $_GET['id'];
  5.  
  6. $zajety = mysql_fetch_array(mysql_query("select count(*) as blad from zadania_aktywne where id_wykonawcy = '".$Player->user."'"));
  7. if(empty($zajety)) {
  8. $losowanie1 = "SELECT * FROM wylosowane_zadania_krotkie WHERE nr = $id";
  9. $resu1 = mysql_query($losowanie1);
  10. while ($re1 = mysql_fetch_array($resu1))
  11. {
  12. $czas = unix_timestamp() + 3600 * $re1['czas'];
  13. mysql_query("insert into zadania_aktywne (id_wykonawcy, od, do, wynagrodzenie, poziom, km, mapa, czas, czas_h) select '".$player->user."','".$re1['od']."','".$re1['do']."','".$re1['cena']."','".$re1['poziom']."','".$re1['km']."','".$re1['mapa']."', ".$czas.",'".$re1['czas_h']."'");
  14.  
  15. }
  16.  
  17.  
  18. } else {
  19.  
  20. $dup = mysql_query("SELECT * FROM zadania_aktywne WHERE id_wykonawcy=".$Player->user) or die(mysql_error());
  21.  
  22. if(($dup['czas'] - $player->uend) >= (3600* $dup['czas_h'])){
  23. $time = date("H:i:s",($dup['czas'] - $player->uend) - (3600* $dup['czas_h']));
  24. } else{
  25. $time = date("00:i:s",($dup['czas'] - $player->uend) - (3600* $dup['czas_h']));
  26. }
  27. header("Refresh: ".($dup['czas'] - $player->uend)."; ?a=europa" );
  28. echo "
  29.  
  30. Aktualnie jestes w trasie pozostalo:<span id='timer'>$time</span>
  31. <script type='text/javascript'>liczCzas('timer',".($dup['czas'] - $player->uend - 2).");</script><br /><br />
  32. ";
  33. echo $dup['mapa'];
  34.  
  35.  
  36. }
  37.  
  38.  
  39.  
  40. ?>
  41.  
  42.  
nospor
Wyświetl sobie wszystkie zapytania które generujesz a dowiesz się co jest grane smile.gif

np. to:
echo "SELECT * FROM zadania_aktywne WHERE id_wykonawcy=".$Player->user;
szaq00
naprawione chodziło o $Player->user mam jeszcze takie pytanie jak tutaj dac aby zastąpic linijkę 6-7 aby mi wyszukało np czy juz taki rekord jest w bazie i aby nie dodawało kolejnego ale aby się strona długo nie ładowała przy wyszukiwaniu.
nospor
Cytat
naprawione chodziło o $Player->user
Ba, mi tego nie musisz mówić. Ja to wiedziałem. Chodziło o to, byś ty się o tym dowiedział

Cytat
mam jeszcze takie pytanie jak tutaj dac aby zastąpic linijkę 6-7 aby mi wyszukało np czy juz taki rekord jest w bazie i aby nie dodawało kolejnego
Select count() zawsze zwróci ci jeden rekord wiec o to:
if(empty($zajety)) {
zawsze będzie FALSE, gdyż $zajety jest właśnie zwróconym rekordem. Ty masz sprawdzać co ten rekord zawiera a nie czy jest...

print_r($zajety);
szaq00
czyli zamiast
if(empty($zajety) dac


if(($zajety) == 0){
}else {}
nospor
rety... zrób
print_r($zajety);
jak cię prosiłem. Co widzisz?
szaq00
Array ( [0] => 1 [blad] => 1 ) gdyż mam jeden rekord zgodny
nospor
No... czyli $zajety jest rekordem/tablicą jak ci już pisałem....
Nie możesz więc robić:
if(($zajety) == 0){
gdyż to jest tablica. A tablicy do 0 się nie porównuje.... porównuje się jej elementy... Staraj sie skupiać na tym co ci ludzie piszą

if(($zajety[0]) == 0){
szaq00
dobrze nie rozumiem jeszcze jednego

".$re1['czas']." = 2
  1. query("update zadania_aktywne set czas = unix_timestamp() + 3600 * ".$re1['czas']." where id_wykonawcy = ".$user);


wpisuje tak czy inaczej obecną godzinę kilka min w tył a powinno np zamiast do 12 to powinno do 14 gdyż dodaje 2*1h
nospor
echo "update zadania_aktywne set czas = unix_timestamp() + 3600 * ".$re1['czas']." where id_wykonawcy = ".$user;
szaq00
juz mi działa pomogło twoje echo zauwazyłem że jest 3600 * 0 zle pobierało zmienna dzieki stary ;] + leci jesli da rade to nawet 2
nospor
Mam nadzieję, że te proste sprawdzanie na czym się operuje zostanie ci w pamięci na dłużej. smile.gif Bo nie będę już ci przecież wypominał, że w tym temacie już ci tę metodę pokazywałem...

Zapoznaj się też z tym tematem
Temat: Jak poprawnie zada pytanie
gdyż zawiera on wiele cennych wskazówek dla początkujących userów
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.