Úvod > Fórum > Internet > Tvorba webu a webdesign > Problem s mysql_num_fields():
|<<134>>|

Problem s mysql_num_fields():

18.10.2011 06:00
příspěvků:38

V php sa moc nevyznam, ale potrebujem urobit vyhladavanie z databazy. Hlasi mi chybu: Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in … K databaze sa pripaja, inak by mi hodilo chybu, ze nie. Tak kde vsade mam hladat chybu? cast kodu:

echo ("&lt;table border="0" bordercolor="Orange"&gt;&lt;tr&gt;");

for($i=0; $i &lt; mysql_num_fields($result); $i++){

echo("&lt;td style="font-weight: bold"&gt;".mysql_num_name($result, $i)."&lt;/td&gt;");

}

echo("&lt;/tr&gt;&lt;/table&gt;");

18.10.2011 06:29
příspěvků:5 728

1)dej ten kod trosku do poradku(odentruj ho, at se v tom vyzname

2)i tak si myslim ze moc lidi ti nepomuze ja v nem nic spatne nevidel, jeste zkus mysql_numfields (sice se to v budoucnu asi nebde pouzivat,ale za zkousku nic nedas).

Na PM neodpovídám, do podpisu se snažte dávát co nejmenší písmo (místo výchozí dejte drobné nebo malé)
18.10.2011 07:54
příspěvků:38

Dik.

Nepomohlo, stale mi zobrazuje len nazvy stlpcov tabulky do ktorej chcem mat vrateny vysledok hladania, ale ziadne udaje

len ta chyba. Nemohla by byt chyba niekde v databaze? Nemam s tym skusenosti robim to prvy raz.

18.10.2011 12:22
moderátorověřen
příspěvků:282

No mysql mysql_num_name vraci vzdy pouze nazvy sloupcu a mysql_num_fields vraci vzdy pocet sloupcu.

Popravde tyto funkce nejsou vubec potreba pokud clovek nedela aplikaci nad neznamymi tabulkami.

Pro vypsani obsahu pouzivam nejradeji mysql_fetch_array

18.10.2011 13:19
příspěvků:38

Ako by potom mal vyzerat cely kod?

18.10.2011 13:57
moderátorověřen
příspěvků:282

takze takhle nejak by mohl

<pre>echo '&lt;table&gt;';

// toto je od tebe, klidne to tu muze zustat, pokud to funguje, jak jsem psal tyto dve funkce z duvodu nepotrebnosti nepouzivam :-)

echo '&lt;tr&gt;';

for($i=0; $i &lt; mysql_num_fields($result); $i++){

echo(&quot;&lt;td style=&quot;font-weight: bold&quot;&gt;&quot;.mysql_num_name($result, $i).&quot;&lt;/td&gt;&quot;);

}
echo '&lt;/tr&gt;';
// tohle ode me

while ($row=mysql_fetch_array($result)) {

echo '&lt;tr&gt;';
foreach ($row as $k =&gt; $h)

echo '&lt;td&gt;'.htmlspecialchars($h).'&lt;/td&gt;';

echo '&lt;/tr&gt;';
}

echo '&lt;/table&gt;';</pre>

18.10.2011 13:58
moderátorověřen
příspěvků:282

pokud si v ramci bloku s while das print_r($row); uvidis celou strukturu pole pro dany "radek" $row se da jako každé pole v php adresovat přímo to, že jsem použil foreach byl proto, že nevím jaké sloupce máš

20.10.2011 07:20
příspěvků:38

Dakujem, ale nefunguje - vysledok je pre zmenu

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in

20.10.2011 07:54
příspěvků:5 728

kde to zkousis? na nejakym hostingu nebo jinde?

Na PM neodpovídám, do podpisu se snažte dávát co nejmenší písmo (místo výchozí dejte drobné nebo malé)
20.10.2011 08:08
moderátorověřen
příspěvků:282

<fieldset><legend>fili</legend>Dakujem, ale nefunguje - vysledok je pre zmenu

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in

A jak vypada SQL dotaz ktery zkousis?

20.10.2011 20:56
příspěvků:38

Samozrejme, ze to mam na normalnom hostingu.

Príkaz pre vyhladavanie:

$sql=mysql_query(&quot;SELECT * FROM nazov tabulky WHERE nazov riadku v db LIKE &quot;%&quot;.$_GET['search'].&quot;%&quot;&quot;);

Dotaz:

$result=mysql_query(&quot;SELECT FROM `nazov tabulky v db` WHERE `Nazov riadku 1 v db` and `Nazov riadku 2 ` and `Nazov riadku 3` and `Nazov riadku 4` and `Nazov riadku 5` LIMIT 0, 30&quot; );

20.10.2011 21:29
příspěvků:38

Tak som si vyrobil novy dotaz v databaze mysql:

$result=mysql_query("SELECT `nazov tabulky v db`.`nazov riadku v db` , `nazov tabulky v db1`.`nazov riadku v db2` , `nazov tabulky v db`. `nazov riadku v db3` FROM nazov tabulky v db

LIMIT 90 , 30");

Uz mi to vyhaduzje vysledky, ale mimo tabulky a hlavne zle a zdvojene

21.10.2011 08:00
moderátorověřen
příspěvků:282

misto
foreach ($row as $k =&gt; $h)

echo '&lt;td&gt;'.htmlspecialchars($h).'&lt;/td&gt;';

dej
foreach ($row as $k =&gt; $h)
if (is_int($k))

echo '&lt;td&gt;'.htmlspecialchars($h).'&lt;/td&gt;';

nicmene tento zpusob prace s daty je naprosto nepouzitelny, chtelo by to adresovat primo sloupce ne vypisovat vse co je v selectu

23.10.2011 18:56
příspěvků:38

Tu je vysledok:

Warning: Invalid argument supplied for foreach() in...

23.10.2011 20:17
moderátorověřen
příspěvků:282

Radsi sem hod opet vse co mas, hezky v jednom, mozna jsi tam neco napsal spatne.

23.10.2011 21:45
příspěvků:38

Uz som do toho aj vrtal a teraz je to takto:

&lt;?

$sql=mysql_query(&quot;SELECT * FROM nazov tabulky db WHERE riadok v db LIKE &quot;%&quot;.$_GET['search'].&quot;%&quot;&quot;);

echo &quot;&lt;table border=&quot;0&quot;&gt;&quot;; echo &quot;&lt;tr&gt;&lt;td&gt; riadok1 &lt;/td&gt;&lt;td&gt; riadok2&lt;/td&gt;&lt;td&gt; riadok3 &lt;/td&gt;&lt;td&gt; riadok4 &lt;/td&gt;&lt;td&gt; riadok5 &lt;/td&gt;&lt;/tr

if($_GET['send']==&quot;Vyhladaj&quot;)

while ($row=mysql_fetch_array($result));

$result=mysql_query(&quot;SELECT ` nazov tabulky db `.` riadok1 ` , ` nazov tabulky db `.` riadok2` , nazov tabulky db `.` riadok3 ` , ` nazov tabulky db `.` riadok4 ` , nazov tabulky db `.` riadok5 ` , ` nazov tabulky db `. `Url` FROM nazov tabulky db

LIMIT 90 , 30&quot;);
{ echo '&lt;tr&gt;';
foreach ($row as $k =&gt; $h)
if (is_int($k))

echo '&lt;td&gt;'.htmlspecialchars($h).'&lt;/td&gt;';

}
echo '&lt;/table&gt;'
?&gt;

09.12.2011 19:53
příspěvků:38

Nikto mi nevie pomoct?

09.12.2011 21:50
moderátorověřen
příspěvků:282

Měl bys zkusit nějakou knížku kde to je krok za krokem, mám pocit že se v tom totálně plácáš.

Proč tam más například dvakrat mysql_query se select ?

proc si tam vubec ten druhej select daval, bez toho radku by to podle me melo jit

10.12.2011 21:24
příspěvků:38

To si trafil, PHP mi jednoducho nejde, ale potrebujem to nejako urobit aby to slapalo.

Skusil som vymazat jeden z tych riadkov a tu je vysledok:

Invalid argument supplied for foreach()

11.12.2011 09:22
moderátorověřen
příspěvků:537

No a výsledný kód je jaky?

Odmazat jeden ze tří aniž by byl určen jaký moc neřekne.

správce PCforum.cz, provozovatel http://rychlost.cz , http://www.netstranky.cz - vše co píšu je bez záruk :) to jak si s tím naložíte je zcela na vás
|<<134>>|
Diskuze k tomuto tématu pokračuje na další stránce.
Pokud budete vkládat odpověď bez znalosti dalších stránek můžete být mimo :)
© 2007-2024 PCforum.cz, všechna práva vyhrazena, veškeré informace zde uvedené jsou bez záruk, podmínky užití, kontaktní informace