Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] problem z zapytanie
Forum PHP.pl > Forum > PHP
jawka7
mam gdzies bvlad w tym skropcie prosze pomozcie mi nie moge tego znajsc ;/

Kod
$zapytanie="SELECT * FROM `finanse`";
$wykonaj=mysql_query($zapytanie) or die(mysql_error());

while($wiersz=mysql_fetch_array($wykonaj))
{
$login=$wiersz['login'];


$zapytanie="SELECT * FROM `sponsorzy` WHERE `login`='$login'";
$wykonaj=mysql_query($zapytanie);

while($wiersz=mysql_fetch_array($wykonaj))
{
$sponsorzy=$wiersz['wartosc'];
}


$zapytanie="UPDATE `finanse` SET `wplywy sponsorzy` = '$sponsorzy' WHERE `login` = `$login`";
$wykonaj=mysql_query($zapytanie);

}
Ar2r
Skoro stosujesz mysql_fetch_array() to nie odwołuj się do pól po nazwach tylko po indeksach.
Zmień na mysql_fetch_assoc() i powinno działać.
jawka7
nie rozumiem o co ci chodzi za bardzo ale zrobilem tak jak mowiles i nici z tego gdybys mogl tak przerobic ten skrypt tak jak powinien byc jezeli zamiast nazw maja byc indeksy to wstaw tam odpowiedznie liczby ja potem przerobie je pod strukture w mojej bazie

wczesniej jeszcze tak zrobilem ze przy zapytaniu gdzie podmieniam dane w bazie dalem zeby mi wydrukowala blad jeli jes jakis czyli mysql_error

i wydrukowalo mi cos takiego

Nieznana kolumna 'jawka7' w where clause
krowal
Cytat(Ar2r @ 25.11.2007, 17:01:16 ) *
Skoro stosujesz mysql_fetch_array() to nie odwołuj się do pól po nazwach tylko po indeksach.
Zmień na mysql_fetch_assoc() i powinno działać.
Przy mysql_fetch_array() możesz sie odwoływać równie dobrze do pól po indeksach jak i po nazwach, działa.
A co do tego błedu: "Nieznana kolumna 'jawka7' w where clause" to pewnie chodzi o błąd w tym zapytaniu:
  1. <?php
  2. $zapytanie="UPDATE `finanse` SET `wplywy sponsorzy` = '$sponsorzy' WHERE `login` = `$login`"; //ZLE
  3. //zmien tą linijkę na to:
  4. $zapytanie="UPDATE `finanse` SET `wplywy sponsorzy` = '$sponsorzy' WHERE `login` = '$login'"; //DOBRZE
  5. ?>

Chodzi o to że nie można wartości wrzucać w takie ciapki jak nazwy kolumn czyli o takie [`].
jawka7
kurde wiedzialem o tym ale juz poprawilem noi i tak nadal jest blad teraz w tym zapytaniu gdzie sie do finansow odwoluje


teraz moj skrypt wyglada tak
Kod
$zapytanie="SELECT * FROM `finanse`";
$wykonaj=mysql_query($zapytanie) or die(mysql_error());

while($wiersz=mysql_fetch_array($wykonaj)) //  dokladnie w tym miejscu przypada 16 linia
{
$login=$wiersz['login'];


$zapytanie="SELECT * FROM `sponsorzy` WHERE `login`='$login'";
$wykonaj=mysql_query($zapytanie) or die(mysql_error());

while($wiersz=mysql_fetch_array($wykonaj))
{
$sponsorzy=$wiersz['wartosc'];
}


$zapytanie="UPDATE `finanse` SET `wplywy sponsorzy` = '$sponsorzy' WHERE `login` = '$login'";
$wykonaj=mysql_query($zapytanie) or die(mysql_error());
}



i wyswietla mi taki blad:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\socgame\administracja\tygodniowe\piatek\aktualizacja.php on line 16

oprocz tego
juz aktualizuje mi w bazie ale tylko jeden rekord a ja chce zeby w bazie od finansow aktoalizowalo mi wszystkie rokordy

prosze ponownie o pomoc naprawde zalezy mi na tym a ja nie moge znajs zadnego sposobu na to zeby to naprawic... ;/;/;/;/
seiya
Spróbuj może używać różnych nazw dla zmiennych z wynikami zapytania. Być może jest tak, że zmienna $wykonaj z końca pętli przesłania Ci tą, której używasz w 16 linii.
jawka7
nie pomaga ;/
seiya
Co dokładnie wypluwa Ci php?
Kocurro
  1. <?php
  2. $sql = "SELECT * FROM `finanse`";
  3. $res = mysql_query( $sql ) or die( mysql_error() );
  4.  
  5. while ( $row = mysql_fetch_array( $res ) )
  6. {
  7. $login = $row['login'];
  8.  
  9.  
  10. $sql2 = "SELECT * FROM `sponsorzy` WHERE `login`='" . addslashes( $login ) . "'";
  11. $res2 = mysql_query( $sql2 ) or die( mysql_error() );
  12.  
  13. while( $row2 = mysql_fetch_array( $res2 ) )
  14. {
  15. $amount += $row2['wartosc'];
  16. }
  17.  
  18.  
  19. $sql3 = "UPDATE `finanse` SET `wplywy sponsorzy` = " . $amount . "' WHERE `login` = '" . addslashes( $login) . "'";
  20. mysql_query( $sql3 ) or die( mysql_error() );
  21. }
  22. ?>
jawka7
kurcze ale ze mnie kretyn poprosty w petli zastaosowalem zapytanie o tej samiej nazwie zmiennej i po zrobienu pierwszej petli wrzucalo mi nie to zapytanie ale dzieki za wszystko ;]

a i dzieki kocurro za twoj skrypt bardzo mnie zaciekawil napewno skorzystam..


taki maly problem niby aq czlowiek sie gubio

dzieki wszystkim za wszystko... pozdrawiam winksmiley.jpgwinksmiley.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.