Okej. Efter att ha kollat i manualen (har aldrig använt php+mssql) så skulle jag vilja påstå att du måsta använda mssql_init, mssql_bind och mssql_execute för att anropa en stored procedure.
Kom att tänka på en sak. I Oracle måste man skriva execute SP, för att exekvera en stored procedure kallad SP. Det är inte något liknande i mssql?
$result=mssql_query("execute spInlogg ".$aLog['anvandarnamn'].", ".$aLog['losenord']."");
Har även testat:
$result=mssql_query("exec spInlogg ".$aLog['anvandarnamn'].", ".$aLog['losenord']."");
och
$result=mssql_query("execute spInlogg ".$aLog['anvandarnamn'].", ".$aLog['losenord']."");
I T-SQL behöver man inte ange execute eller exec när man ska exekvera en procedur. Dock måste strängvärden omges med apostrofer om datatypen kräver det.
Hur har du anslutit till databasservern? Har du angivit rätt databasnamn som defaultdatabas i din anslutning?
Jag ansluter så här:
$connDb = @mssql_connect($dataServer, $db_user, $db_pass) or die("Kunde inte ansluta");
$conn = @mssql_select_db($db, $connDb) or die("Kunde inte öppna database");
Har även provat utan @-tecknen...
Jag har även trippelkollat databasnamn. Och borde väl få ett fel redan när jag försöker ansluta annars..?
Måste jag ansluta på ett annat sätt om jag anropar store procedures?
Nu funkar ju inget jag försöker med!!! Provade istället:
$query="SELECT * FROM tblAnvandare WHERE anvandarnamn='".$aLog['anvandarnamn']."' AND losenord='".$aLog['losenord']."'";
echo $query;
$result = mssql_query($query);
Fick då felmeddelandet:
Warning: mssql_query(): message: Invalid object name 'tblAnvandare'. (severity 16)