- Lid geworden
- 1 sep 2002
- Berichten
- 16.494
- Besturingssysteem
- macOS Sequoia
Ik heb je berichten samengevoegd, je kunt gewoon je bericht aanpassen wanneer er geen reacties tussen zitten 
Het probleem waar je mee zit is de "function scope".
Je probeert een variabele ($link) binnen een functie te benaderen welke buiten de functie gedeclareerd is.
Verder behandel je $link op regel 12 als object terwijl het dat niet is.
Je zult dus of $link als parameter mee moeten geven, of de declaratie binnen de functie moeten doen.
Mijn voorkeur gaat uit naar het eerste:

Het probleem waar je mee zit is de "function scope".
Je probeert een variabele ($link) binnen een functie te benaderen welke buiten de functie gedeclareerd is.
Verder behandel je $link op regel 12 als object terwijl het dat niet is.
Je zult dus of $link als parameter mee moeten geven, of de declaratie binnen de functie moeten doen.
Mijn voorkeur gaat uit naar het eerste:
PHP:
<?php
function RequestId($countryName, $sqlsrv)
{
// Altijd hoofdletters
$countryName = strtoupper($countryName);
// Query
$sql="SELECT COUNT(RequestID) AS countId FROM RequestDowntime WHERE RequestID=?";
//
if($stmt = sqlsrv_query($sqlsrv, $sql, array($countryName)) {
sqlsrv_fetch($stmt);
// Pak het eerst veld (countId)
$numCountryCode = sqlsrv_get_field($stmt, 0) + 1;
// Geeft eerste 3 letters van het land plus het getal terug
return substr($countryName, 0, 3) + $numCountryCode;
} else {
// Als er een fout uit de query komt geven we false terug
return false;
}
}
// Aanroep:
$link = sqlsrv_connect( $serverName, $connectionInfo);
if( $link === false ) {
echo "Unable to connect.";
die( print_r( sqlsrv_errors(), true));
}
$uniqueId = RequestId($_GET['country_name'], $link);
var_dump($uniqueId);