insert into database
Momenteel ben ik bezig mezelf aan te leren om met classes te werken en deze ook zelf te schrijven.
Om mezelf een beetje wegwijs te maken ben ik nu bezig met een insert functie schrijven. Ik loop nu alleen even tegen een probleempje aan.
Onderstaand een deel van de code, waar het nu nog niet lekker loopt.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
public function InsertIntoDatabase($info) {
global $dbh;
return $this->variables;
// run insert query
$query = 'INSERT INTO registered_user (' .
$this->database_fields
. ') VALUES (' .
$this->database_placeholders
. ')';
$stmt = $dbh->prepare($query);
return $this->bindparam;
$stmt->execute();
}
?>
public function InsertIntoDatabase($info) {
global $dbh;
return $this->variables;
// run insert query
$query = 'INSERT INTO registered_user (' .
$this->database_fields
. ') VALUES (' .
$this->database_placeholders
. ')';
$stmt = $dbh->prepare($query);
return $this->bindparam;
$stmt->execute();
}
?>
Het gaat 'm om de volgende 2 regels:
Hier gaat het mis. Als ik er echo voor zet, dan worden wel de goede waarden weer gegeven.
echo $this->variables; geeft netjes:
en echo $this->bindparam; geeft netjes:
Als ik de query uit wil voeren, krijg ik geen foutmelding, maar er wordt niks toegevoegd aan de database.
Als ik vervolgens $this->variables; en $this->bindparam; weg haal, en er $variabele = 'waarde'; en $stmt->bindParam(':waarde',$waarde); voor in de plaats zet, dan gaat het wel goed.
Wat doe ik fout?
Quote:
the return statement immediately ends execution of the current function
Als ik het return er voor vandaan haal krijg ik overgens de melding dat de parameters not bound zijn (daarom had ik er return voor gezet). Kortom, ik heb dus nog iets anders niet helemaal juist gedaan.
Edit: ik weet overgens wel wat die melding inhoud. Nu alleen de oplossing nog.
Gewijzigd op 07/12/2012 23:24:05 door Martin V