En nu ook nog verongelijkt gaan zitten doen? Je zegt zelf dat je oudere scripts aan het corrigeren bent, en die scripts vertonen ernstige mankementen. Die mankementen wijt je aan een CVA waarvan je eerder gezegd hebt dat dat van later was. Daarom stinkt het zaakje, en vandaar de opmerking.
De kern van de opmerking was echter dat je niet voor elke regel een nieuw topic hoeft aan te maken. Dat doe je nu wel.
Verwijderen van berichten is NIET de bedoeling, daarom roep ik met klem om dit ook NIET te doen.
Ook is het NIET de bedoeling dat men zich hier gekwetst voelt. Iedereen is hier om elkaar te helpen.
Ik heb zelf een mooie tip gegeven met commentaar-blokken. Dit kan zeker een handig hulpmiddel zijn om goede structuur in je code te krijgen.
Om antwoord te geven op de vraag: in MySQL was er de functie mysql_result(). Hiermee kon je, gegeven een resultaat-resource data van een specifieke rij en/of kolom ophalen.
In MySQLi echter heet dit niet mysqli_result(), mysqli_result zelf is namelijk de naam van de klasse voor MySQLi-resultaatsets. Hier kun je dus niet simpelweg een "i" toevoegen.
In de oorspronkelijke code haal je de waarde op van de eerste rij (index 0) van een kolom met kolomnaam "e_country", althans, ik denk dat dit een letterlijke naam van een kolom is (en geen constante) dus voor de goede orde zouden hier quotes omheen gezet moeten worden. Ook loont het misschien de moeite om te controleren of er uberhaupt resultaten zijn maar laten we er even van uitgaan dat er altijd precies één resultaat is.
Het makkelijkste is waarschijnlijk om de methode van Ariën te volgen waarbij je gewoon de resultaatrij ophaalt (er vanuitgaande dat deze bestaat) en vervolgens de kolom van interesse ophaalt.
Vraag ik mij wel af hoe $sqlCountry er uitziet? Is dit enkel de landnaam? Dan heeft deze query ook maar één resultaatkolom? In welk geval je ook gewoon rechtstreeks de nulde kolom kunt ophalen. Zelfs in 1 coderegel mits je PHP nieuw genoeg is:
<?php
$countryName = mysqli_fetch_row($resultCountry)[0]; // fetch first column of resultset
?>
Maar dan vraag ik mij nog steeds af hoe $sqlCountry er uit ziet. Grote kans dat je extra informatie omtrent een specifiek ding ophaalt in welk geval je dit ook direct zou kunnen doen met behulp van een JOIN? Dan heb je deze extra query helemaal niet nodig.
In antwoord op jouw vraag:
<?php
// get country long name
$sqlCountry = "SELECT e_country FROM country WHERE ISO_A3 = '".$competing_for_country."'";
?>
De land informatie zit in een andere tabel. In deze tabel zitten naast o.a de ISO code's ook de vertalingen van de landen namen.
Dit is de structuur:
<?php
--
-- Tabelstructuur voor tabel `country`
--
CREATE TABLE IF NOT EXISTS `country` (
`ISO_A2` char(2) NOT NULL,
`e_country` varchar(80) NOT NULL,
`d_country` varchar(80) NOT NULL,
`f_country` varchar(80) NOT NULL,
`ISO_A3` char(3) DEFAULT NULL,
`numcode` smallint(6) DEFAULT NULL,
`flag` varchar(80) NOT NULL,
PRIMARY KEY (`ISO_A2`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
?>