MYSQLI hoogste waarde

  • Onderwerp starter Onderwerp starter baws
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

baws

Terugkerende gebruiker
Lid geworden
9 apr 2010
Berichten
1.258
Hallo,

Ik ben over aan het stappen van mysql naar mysqli,
Hoe krijg ik een mysqli de hoogste waarde aan een variabel gekoppeld.
Stel ik heb 5 rijen met een id de hoogste is dan id = 5
Hoe krijg ik dan:

$maxid = hoogste id

Het zal heel simpel zijn maar ik krijg het niet voor elkaar.
 
Ok maar hoe haal ik het dan op, ik heb nu:

PHP:
	$query = "SELECT MAX(InfoId)From SerieInfo";
	if ($result = $db->query($query)) 
	{
		while ($row = $result->fetch_assoc()) 
		{
			$max = $row['MAX(InfoId)'];
		}
		$result->free();
	}
 
Ik zie dat je een klasse hebt met de functie query daarin moet je mysql_query naar mysqli_query vervangen net als de rest van je mysql functies
 
Ik gebruik alleen nog mysqli er is een connectie en ik kan waardes ophalen met SELECT alleen ik kaan geen hoogste waardes ophalen.
 
Wat krijg je als je de query in bijvoorbeeld phpMyAdmin invoert? Komt het niet omdat je geen spatie tussen MAX() en FROM hebt?

Wil je een betere benaming hebben dan kun je AS gebruiken:
[sql]
SELECT
MAX(InfoId) AS highest
FROM
SerieInfo
[/sql]

Overigens als het de PRIMARY KEY is en je wilt gewoon de meest recent toegevoegde ID hebben kun je ook dit doen:
[SQL]
SELECT
*
FROM
SerieInfo
ORDER BY
InfoId DESC
LIMIT 1
[/SQL]
 
Laatst bewerkt:
Ok de SQL Querys lukken wel maar ik weet nooit hoe ik het moet ophalen als ik as gebruik , net als bij de query :

$max = $row['MAX(InfoId)'];

ziet er voor mij vaag uit omdat ik gewend ben om $row['waarde'] te gebruiken
 
Als je dus "AS" op een kolom toepast kun je die benaming gebruiken, in mijn code wordt dat dus:
PHP:
echo $row['highest'];
 
Een beetje OT maar waarom wi je het hoogste ID hebben? Een id is niets meer dan een uniek getal per record en geeft *nooit* een volgorde aan, ook niet met een auto_increment, gewoon nooit.


Max(id) is dus iets wat je nooit gebruikt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan