Autor | Zpráva | ||
---|---|---|---|
Pesulap Profil |
#1 · Zasláno: 2. 10. 2007, 13:00:03
Ahoj mám dotaz do Mysql
$dotaz=mysql_result(mysql_query("SELECT Count(id) FROM et_polozky WHERE (( a = ".$hodnoty["1"]." AND b = ".$hodnoty["2"]." OR b = ".$hodnoty["1"]." AND c = ".$hodnoty["2"]." OR c = ".$hodnoty["1"]." AND d = ".$hodnoty["2"]." OR d = ".$hodnoty["1"]." AND a = ".$hodnoty["2"].") AND pouziti=0) "), 0); A vyhodí mi to hlášku Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:xampphtdocsxamppeternityindex.php on line 335 nevíte co se mu nelíbí ??? |
||
YaD Profil |
#2 · Zasláno: 2. 10. 2007, 13:07:47
nevalídny MySQL príkaz
|
||
Pesulap Profil |
#3 · Zasláno: 2. 10. 2007, 13:09:14
no jo ale jakto ??
pokaždé to funguje když tam jsou třeba tři položky odpovídající vyhodí to 3 a ted mi to vyhodilo tohle ? |
||
YaD Profil |
#4 · Zasláno: 2. 10. 2007, 13:12:46
vyzerá to na mňa komplikovane, takže viac asi nic, ale skús tu 0 na konci zlikvidovať
|
||
DJ Miky Profil |
#5 · Zasláno: 2. 10. 2007, 13:13:20 · Upravil/a: DJ Miky
Nemuselo to vrátit žádný výsledek…
if($dotaz2=mysql_query('…')) { if(mysql_num_rows($dotaz2)) { $dotaz=mysql_result($dotaz2,0); } } |
||
Pesulap Profil |
#6 · Zasláno: 2. 10. 2007, 13:15:14
Takže f($dotaz2=mysql_query('blabla…')) {
if(mysql_num_rows($dotaz2)) { $dotaz=mysql_result($dotaz2,0); } } mi ošetří co ? potřebuji udělat dotaz aby mi to řeklo kolik položek odpovídá těmto podmínkám . díky |
||
Pesulap Profil |
#7 · Zasláno: 2. 10. 2007, 13:17:07
sry mysql_num_rows díky
|
||
Pesulap Profil |
#8 · Zasláno: 2. 10. 2007, 13:22:58
po změně na
$dotaz2=mysql_query("SELECT Count(id) FROM et_polozky WHERE (( a = ".$hodnoty["1"]." AND b = ".$hodnoty["2"]." OR b = ".$hodnoty["1"]." AND c = ".$hodnoty["2"]." OR c = ".$hodnoty["1"]." AND d = ".$hodnoty["2"]." OR d = ".$hodnoty["1"]." AND a = ".$hodnoty["2"].") AND pouziti=0) "); $dotaz=mysql_num_rows($dotaz2); píše :-( Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:xampphtdocsxamppetindex.php on line 344 A to je zase co ? |
||
nightfish Profil |
#9 · Zasláno: 2. 10. 2007, 13:30:45
DJ Miky
kdyby mysql nevrátilo žádný výsledek, tak by ta chybová hláška vypadala jinak... tohle PHP vypíše, když je v tom dotazu syntaktická chyba... aneb echo mysql_error(); Pesulapovi poví, v čem je problém |
||
Pesulap Profil |
#10 · Zasláno: 2. 10. 2007, 13:34:41
echo mysql_error;
mi napíše 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 b = 0 AND c = 1 OR b = AND c = 0 AND d = 1 OR c = AND d = 0 AND a ' at line 2 |
||
Pesulap Profil |
#11 · Zasláno: 2. 10. 2007, 13:52:33
fakt nevíte co s tím ?
|
||
nightfish Profil |
#12 · Zasláno: 2. 10. 2007, 14:32:30 · Upravil/a: nightfish
Pesulap
proměnná $hodnoty["1"] neobsahuje žádnou hodnotu... EDIT: fakt nevíte co s tím ? tohle NENÍ placené fórum, lidé zde odpovídají z vlastní vůle a ve svém volném čase, takže klídek... |
||
Pesulap Profil |
#13 · Zasláno: 2. 10. 2007, 14:38:54
aha.. zatím díky a promiňte
|
||
hansk Profil |
#14 · Zasláno: 2. 10. 2007, 14:49:34
Možná by to mělo být takto:
Problém je nejspíš v úvozovkách a taky nechápu proč máte před proměnou tečky! |
||
nightfish Profil |
#15 · Zasláno: 2. 10. 2007, 15:58:33
hansk
taky nechápu proč máte před proměnou tečky! ty tečky slouží ke konkatenaci (spojení) řetězců a problém je opravdu v tom, že proměnná $hodnoty['1'] je prázdná... (je to poznat z výpisu mysql_error()) |
||
hansk Profil |
#16 · Zasláno: 2. 10. 2007, 16:08:19
nightfish
Ano, slouží ke spojení řetězců, ale v daném případě se žádné řetězce nespojují, nebo se snad mýlím? |
||
nightfish Profil |
#17 · Zasláno: 2. 10. 2007, 16:17:39
hansk
spojují... a = ".$hodnoty["1"]." AND b = ".$hodnoty["2"]." OR je pokračování řetězce z předchozího řádku... ten končí za a = a je spojen s obsahem proměnné $hodnoty["1"], který je dále spojen s dalším řetězcem obsahujícím AND b = apod. |
||
Pesulap Profil |
#18 · Zasláno: 2. 10. 2007, 18:45:01
Tákže by to mohlo vypadat nějak takhle ??
$dotaz2=mysql_query("SELECT Count(id) FROM et_polozky WHERE (( a = "$hodnoty['1']" AND b = "$hodnoty['2']" OR b = "$hodnoty['1']" AND c = "$hodnoty['2']" OR c = "$hodnoty['1']" AND d = "$hodnoty['2']" OR d = "$hodnoty['1']" AND a = "$hodnoty['2']") AND pouziti=0) "); $dotaz=mysql_num_rows($dotaz2); ju ? |
||
nightfish Profil |
#19 · Zasláno: 2. 10. 2007, 18:48:36
Pesulap
již dvakrát jsem zde napsal, že problém je v tom, že proměnná $hodnoty["1"] neobsahuje žádnou hodnotu (nebo je prázdná) zjisti, čím je to způsobeno a oprav to |
||
Pesulap Profil |
#20 · Zasláno: 2. 10. 2007, 19:31:08
jj ale jen jestli je tento dotaz lepší než ten předtím ....
|
||
nightfish Profil |
#21 · Zasláno: 2. 10. 2007, 20:08:14
jj ale jen jestli je tento dotaz lepší než ten předtím ....
zhučí na stejnou chybu, takže ani ne... nicméně to, cos napsal 18:45:01 nejspíš fungovat nebude... (pokud teda nemáš ty uvozovky správně oescapované) btw jakých datových typů jsou sloupce a, b, c a d? |
||
Pesulap Profil |
#22 · Zasláno: 4. 10. 2007, 17:00:16
VARCHAR
|
||
Pesulap Profil |
#23 · Zasláno: 4. 10. 2007, 17:02:32
Mám to takto :
$dotaz2=mysql_query("SELECT Count(id) FROM et_polozky WHERE (( a = "$hodnoty['1']" AND b = "$hodnoty['2']" OR b = "$hodnoty['1']" AND c = "$hodnoty['2']" OR c = "$hodnoty['1']" AND d = "$hodnoty['2']" OR d = "$hodnoty['1']" AND a = "$hodnoty['2']") AND pouziti=0) "); $dotaz=mysql_num_rows($dotaz2); A hlásí mi to Parse error: syntax error, unexpected T_VARIABLE in C:xampphtdocsxamppeternityindex.php on line 333 |
||
nightfish Profil |
#24 · Zasláno: 4. 10. 2007, 17:29:54
Mám to takto :
A hlásí mi to Parse error: syntax error protože to máš blbě... zatím nejvíc ses správnému řešení přiblížil ve svém příspěvku z 2.10.2007 13:22:58, akorát bude potřeba ještě ty hodnoty oapostrofovat... tzn. $dotaz2=mysql_query("SELECT Count(id) FROM et_polozky WHERE (( |
||
Časová prodleva: 18 let
|
0