Autor Zpráva
MilanJ
Profil
Po úspěšném otevření databáze potřebuji zpracovat následující kód (PHP)


$query = "SELECT MIN(prubeh_aukce.prihoz) FROM aukce, prubeh_aukce WHERE aukce.id_aukce = '2' "
$vysledek_dotazu = mysql_query($query);
$pole_ziskanych_udaju = mysql_fetch_array($vysledek_dotazu);
$nej_nabidka = $pole_ziskanych_udaju["MIN(prubeh_aukce.prihoz)"];


Proč se mi do $nej_nabidka nenačte výsledek dotazu?
Předpokládám, že je chyba v zápisu $pole_ziskanych_udaju["MIN(prubeh_aukce.prihoz)"], ale kde?
Jak se dostanu k hodnotě MIN(prubeh_aukce.prihoz) ?
Hugo
Profil
$query = "SELECT MIN(prubeh_aukce.prihoz) AS MinHodnota FROM aukce, prubeh_aukce WHERE aukce.id_aukce = '2' "

Potom bude vysledek v $pole_ziskanych_udaju["MinHodnota"];
Acci
Profil
Vyzkoušej

$query = "SELECT MIN(prubeh_aukce.prihoz) AS nejnabidka FROM aukce, prubeh_aukce WHERE aukce.id_aukce = '2' "
$vysledek_dotazu = mysql_query($query);
$pole_ziskanych_udaju = mysql_fetch_array($vysledek_dotazu);
$nej_nabidka = $pole_ziskanych_udaju["nejnabidka"];
MilanJ
Profil
Funguje, díky pánové.;-)
MilanJ
Profil
Jásal jsem předčasně.:-(

Samostatný SQL dotaz funguje na databázi bez problémů, ale řádek $nej_nabidka = $pole_ziskanych_udaju["nejnabidka"]; vrací prázdný řetězec, ačkoliv v databázi vrátí nejnižší hodnotu (SQL dotaz spuštěný ručně na db).

Kde by mohl být problém?
Hugo
Profil
MilanJ

Zkus použít funkci MySQL_Fetch_Assoc(). MySQL_Fetch_Array() vrací pole s číselnými indexy.
MilanJ
Profil
Tak chybu jsem našel, ale moc jí nerozumím.
Je to v konstrukci SQL dotazu, ve kterém jsem použil místo konkrétní hodnoty hodnotu z proměnné, takže SQL výraz vypadá následovně:

SELECT MIN(prubeh_aukce.prihoz) AS nejnabidka FROM aukce, prubeh_aukce WHERE aukce.id_aukce = '".$_GET['id_aukce']."' AND prubeh_aukce.id_aukce = '".$_GET['id_aukce']."' "

Je chyba v uvozovkách nebo snad jinde?
MilanJ
Profil
Tak jsem chybu odladil. Nebyla v podstatě nikde, databáze nevrátila žádný výsledek, jelikož $_GET['id_aukce'] ukazovalo na prázdnou hodnotu v DB.
Omlouvám se.
Toto téma je uzamčeno. Odpověď nelze zaslat.