Hoe kan ik een parameter mee geven aan een routine in mysql

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Danny van Kempen

Danny van Kempen

12/12/2014 20:01:44
Quote Anchor link
Hoe kan ik een specifieke parameter mee geven aan een routine in mysql met PHP?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
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;
        }
 
PHP hulp

PHP hulp

11/12/2024 22:03:45
 

13/12/2014 17:34:53
Quote Anchor link
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.
 
No One

No One

22/12/2014 14:03:58
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
      $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 .:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$var = 'als';
$string = 'zoiets '.$var.' dit';


Of als je dat niet bedoelt: In the routine declareer je iedere variable die je wil hebben.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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 ;)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.