Hoe kan ik een specifieke parameter mee geven aan een routine in mysql met PHP?

public function SelectSingleAccount($accountId)
		{
			$Config = new Config();
			$mysqli = $Config->OpenConnection();			
			$result = mysqli_query($mysqli, "CALL SelectSingleAccount") or die("Query fail: ". mysqli_error());
			
			$BusinessObject = new DL_Account();
			$ArrayResult = $BusinessObject->CreateObjectArray($result);
			return $ArrayResult;
		}
Tip: gebruik geen beginnende hoofdletters in je variabelen. Gebruik camelCase, dit is leesbaarder.

Je vraag zelf snap ik alleen niet, waar wil je een variabele meegeven? Je doet nu gewoon de functie aanspreken i.p.v een query te doen naar de database als ik het goed begrijp.

      $result = mysqli_query($mysqli, "CALL SelectSingleAccount('$accountid', 'var2', 0)") or die("Query fail: ". mysqli_error());


even korte uitleg: PHP parsed elke string tussen doublequotes, dus dan kun je $accountid gewoon typen. heb je singlequotes, dan moet je dus gebruik maken van .:


$var = 'als';
$string = 'zoiets '.$var.' dit';


Of als je dat niet bedoelt: In the routine declareer je iedere variable die je wil hebben.

CREATE PROCEDURE SelectSingleAccount(IN accountId INTEGER(11))


lees ook: http://dev.mysql.com/doc/refman/5.0/en/create-procedure.html

Nog 1 vraag, waarom open je de config pas in die functie? of retourneert OpenConnection een bestaande mysqli als de connectie al open was? Als dat niet het geval is, dan krijg je nu dus meerdere connecties tegelijkertijd ;)

Reageren