Autor | Zpráva | ||
---|---|---|---|
Alastor_Kopal Profil |
#1 · Zasláno: 31. 8. 2009, 10:44:54
nevim proč ale mám urostřed kódu toto (nedivím se tomu že mám uprostřed kódu toto :-) )
$stejnapozice=mysql_query("select * from dobro where misto='5' AND radek='$vysledekr' AND sloupec='$vysledeks'"); $stejnapozice=mysql_num_rows($stejnapozice) or die (mysql_error()); $pozicelidi=mysql_query("select * from dobro where misto=5 AND ban=0"); $vysledeks a $vysledekr jsou pozice x y které zapisuji do databáze ty dva horní řádky chci použít jako dotaz na databázi jestli náhodou na tom místě už někdo nestojí a dyštak zobrazit informace o tom kdo tam stojí ten poslední - třetí řádek je zobrazení všech uživatelů jenomže když těm dvoum proměnným ($stejnapozice,$stejnapozice) přiřadím hodnoty tak se mi nezobrazí uživatelé (to znamená že 3. dotaz se nevykoná) snad to někdo pochopí nechápu proč by mělo přiřazování proměným (které ani nepoužívám v kódu) ovlivňovat výstup |
||
stepanka Profil * |
#2 · Zasláno: 31. 8. 2009, 10:53:29
Alastor_Kopal
„jenomže když těm dvoum proměnným ($stejnapozice,$stejnapozice) přiřadím hodnoty tak“ To nejsou dvě proměnné, ale jedna. Nemůžeš mít jeden název proměnné a používat ho pro dvě hodnoty. Jednu pozměň. |
||
Mike8748 Profil |
#3 · Zasláno: 31. 8. 2009, 11:01:16
Alastor_Kopal
kdyz naleju benzin do nadrze, tak mi nejede auto. nevite proc?........ tezko rict kdyz nenapises relevantni udaje. jake zobrazovani? jakym kodem? nepocitas potom nahodou s tim ze $stejnapozice bude obsahovat vysledek prvniho sql dotazu ? |
||
Alastor_Kopal Profil |
#4 · Zasláno: 31. 8. 2009, 11:01:45
$stejnapozice=mysql_query("select * from dobro where misto='5' AND radek='$vysledekr' AND sloupec='$vysledeks'"); $stejnapozice_radky=mysql_num_rows($stejnapozice) or die (mysql_error()); $pozicelidi=mysql_query("select * from dobro where misto=5 AND ban=0"); nevim proč kopíroval jsem to s kódu a tam je to správně samozdřejmě že to vím omlouvám se |
||
Alastor_Kopal Profil |
#5 · Zasláno: 31. 8. 2009, 11:04:41 · Upravil/a: Alastor_Kopal
relevantni udaje.
které ? nepocitas potom nahodou s tim ze $stejnapozice bude obsahovat vysledek prvniho sql dotazu ? ??? vždyť $stejnapozice je prvni SQL dotaz |
||
stepanka Profil * |
#6 · Zasláno: 31. 8. 2009, 11:04:56
Alastor_Kopal
Taky si zkus dát výpis chyby i za poslední dotaz. Pak možná zjistíš, proč se neprovedl. |
||
Alastor_Kopal Profil |
#7 · Zasláno: 31. 8. 2009, 11:06:58
přidal jsem tam
$pozicelidi=mysql_query("select * from dobro where misto=5 AND ban=0") or die (mysql_error()); |
||
stepanka Profil * |
#8 · Zasláno: 31. 8. 2009, 11:09:23
Alastor_Kopal
„přidal jsem tam “ Fajn. No a výsledek? |
||
Alastor_Kopal Profil |
#9 · Zasláno: 31. 8. 2009, 11:13:28
právěže nic žádný text žádný chyba
|
||
stepanka Profil * |
#10 · Zasláno: 31. 8. 2009, 11:24:00
Alastor_Kopal
Taky máš v jednom dotazu select * from dobro where misto='5' a v druhém select * from dobro where misto=5 To se nějak nemůžeš rozhodnout, kterého typu ten sloupec je, nebo co to znamená? |
||
Alastor_Kopal Profil |
#11 · Zasláno: 31. 8. 2009, 11:29:33
promiň já vůl zapoměl jsem na vlastnosti úvozovek int nebo text
|
||
Alastor_Kopal Profil |
#12 · Zasláno: 31. 8. 2009, 11:31:37 · Upravil/a: Alastor_Kopal
výborně opravil jsem to naskočilo
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in *soubor* on line 361 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 'AND sloupec=' at line 1 řádek 361 $stejnapozice_radky=mysql_num_rows($stejnapozice) or die (mysql_error()); tak teď jsem z toho vážně na větvi |
||
stepanka Profil * |
#13 · Zasláno: 31. 8. 2009, 11:34:22
Alastor_Kopal
361 není řádek s chybou, ale řádek, kde se chyba rozpoznala. Chyba je v dotazu na řádku 360. Projdi si ho, máš tam dva sloupce, u kterých taky používáš uvozovky. Mají tam opravdu být? Nejsou to zase sloupce číselného typu? |
||
Alastor_Kopal Profil |
#14 · Zasláno: 31. 8. 2009, 11:38:54
ano když jsem no to byl upozorněn v [#10] tak jsem opravil i 360
$stejnapozice=mysql_query("select * from dobro where misto=5 AND radek=$vysledekr AND sloupec=$vysledeks"); |
||
Nox Profil |
#15 · Zasláno: 31. 8. 2009, 11:45:53 · Upravil/a: Nox
Uvozovky tam klidně být můžou, mysql dost pohodově používá konverze... však si můžete zkusit
[presql]"select '5'+3+'2'"[/pre] Alastor_Kopal fakt by to chtělo víc infa |
||
stepanka Profil * |
#16 · Zasláno: 31. 8. 2009, 11:51:58
Alastor_Kopal
Víc už poradit neumím. Musíš zkusit hledat. Vypiš si obsahy proměnných před tím, než je vložíš do dotazu, zda opravdu obsahují to, co chceš. Podívej se do databáze, zda tam takové řádky opravdu jsou. Zkontroluj si, jestli Ti sedí názvy sloupců a jejichy datové typy. Za každým dotazem si vypisuj případné chybové hlášení. Snad uspěješ.. |
||
Alastor_Kopal Profil |
#17 · Zasláno: 31. 8. 2009, 11:53:23 · Upravil/a: Alastor_Kopal
***
|
||
stepanka Profil * |
#18 · Zasláno: 31. 8. 2009, 11:58:50
Nox
Aha, tak to se omlouvám, pokud to MySQL umí. Jsem zvyklá, že mi to vždycky házelo chybu. Možná to bylo ve 4kové verzi MySQL, těžko říct, nebudu to zkoumat.. Každopádně jsem nechtěla poradit špatně.. |
||
Alastor_Kopal Profil |
#19 · Zasláno: 31. 8. 2009, 13:28:49 · Upravil/a: Alastor_Kopal
tak by to šlo ještě překombinovat ten dotaz
mám proměnné x y a zapisuji je do databáze. Jenže chtěl bych zkontrolovat zda někdo nemá tytéž hodnoty takže asi takhle když nikdo nemá stejné hodnoty tak mysql_query("UPDATE dobro SET noha='$_SESSION[noha]', obrazek='$obrazek', sloupec='$vysledeks', radek='$vysledekr' where id='$id'"); a o kontrolu sem se pokoušel teď |
||
tiso Profil |
#20 · Zasláno: 31. 8. 2009, 13:44:06
Alastor_Kopal: ty sa sem chodíš vykecávať, alebo potrebuješ riešiť nejaký problém? Lebo z toho, čo si napísal, to vôbec nie je jasné. Skús sa lepšie vyjadrovať, aby tomu rozumel aj niekto iný okrem teba.
|
||
Alastor_Kopal Profil |
#21 · Zasláno: 31. 8. 2009, 13:54:13 · Upravil/a: Alastor_Kopal
dobře takže
potřebuji dotaz který ze zeptá databáze jestli nějaký registrovaný uživatel má ve sloupci X a Y hodnoty které jsem vypočítal v php souboru MySQL - přikladný uživatel Jmeno - 123 Heslo - 321 X - 200 Y - 100 v php mi vyjde výsledek x(200) a y(100) a potřebuji dotaz který zjistí že opradu takový uživatel je a vypíše jeho jméno |
||
Nox Profil |
#22 · Zasláno: 31. 8. 2009, 13:57:30 · Upravil/a: Nox
„potřebuji dotaz který ze zeptá databáze jestli nějaký registrovaný uživatel má ve sloupci X a Y hodnoty které jsem vypočítal v php souboru“
$je_uzivatel = (bool)mysql_result( mysql_query("SELECT COUNT(*) FROM dobro WHERE sloupec=$vysledeks AND radek=$vysledekr"), 0); mj. hráči za dobro a zlo mají odlišné sloupce? jinak myslím že není důvod dělat dvě odlišné tabulky, stačí přidat sloupec třeba "strana" ...a to buď jako cizí klíč nebo třeba enum |
||
Alastor_Kopal Profil |
#23 · Zasláno: 31. 8. 2009, 14:09:22 · Upravil/a: Alastor_Kopal
a jak se mám ptát v if a jak mám zobrazovat ? $je_uzivatel['jmeno'] například ?
EDIT: v ifu se mám ptát vlastně if($je_uzivatel) |
||
Alastor_Kopal Profil |
#24 · Zasláno: 31. 8. 2009, 17:14:56
$stejnapozice = (bool)mysql_result( mysql_query("SELECT COUNT(*) FROM dobro WHERE misto=5 AND sloupec=$vysledeks AND radek=$vysledekr"), 0); to je divný Warning: mysql_result(): supplied argument is not a valid MySQL result resource in *soubor* on line 331 špatný argument takže asi chyba v příkazu |
||
nightfish Profil |
#25 · Zasláno: 31. 8. 2009, 17:30:45
Alastor_Kopal
„špatný argument takže asi chyba v příkazu“ přepokládám, že po nás chceš zopakovat, že chyba v dotazu se vypisuje pomocí echo mysql_error()... |
||
Alastor_Kopal Profil |
#26 · Zasláno: 31. 8. 2009, 17:40:19
pardon zapoměl jsem to připsat
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 'AND radek=' at line 1 co se mu nelibí ? AND ? |
||
nightfish Profil |
#27 · Zasláno: 31. 8. 2009, 18:36:34
co se mu nelibí ? AND ?
to, co je, nebo spíš není před ANDem vypiš si proměnnou $vysledeks a $vysledekr - tipuju, že alespoň jedna z nich je prázdná |
||
Alastor_Kopal Profil |
#28 · Zasláno: 31. 8. 2009, 19:16:04 · Upravil/a: Alastor_Kopal
ne blbě jsem to napsal edit dole \/
|
||
Alastor_Kopal Profil |
#29 · Zasláno: 31. 8. 2009, 19:28:37 · Upravil/a: Alastor_Kopal
až teď jsem si uvědomil že to mám dělat takhlenc
$stejnapozice = (bool)mysql_result( mysql_query("SELECT COUNT(*) FROM dobro WHERE misto=5 AND sloupec=$vysledeks AND radek=$vysledekr"), 0) or die (mysql_error()); if($stejnapozice){echo'zatim jakejkoliv text jen at vim jestli to funguje';} else{ mysql_query("UPDATE dobro SET noha='$_SESSION[noha]', obrazek='$obrazek', sloupec='$vysledeks', radek='$vysledekr' where id='$id'"); $_SESSION['sloupec'] = $vysledeks; $_SESSION['radek'] = $vysledekr;}} jedíná věc která na té věci nefunguje je if podmínka nevím jak ji mám otestovat |
||
Nox Profil |
#30 · Zasláno: 31. 8. 2009, 19:33:05
var_dump ... nesmírně pomůže při mnoha potížích
pak třeba taky vypsání query echo "SELECT COUNT(*) FROM dobro WHERE misto=5 AND sloupec=$vysledeks AND radek=$vysledekr" případně ozkoušení v phpMyAdminu pokud je to select |
||
Téma pokračuje na další straně.
|
0