Geen output bij Prepared Statement
George van Baasbank
08/12/2013 11:45:11Hallo allemaal,
Sinds kort maak ik gebruik van PREPARED STATEMENT bij het verwerken van sql-opdrachten voor UPDATE, INSERT INTO en DELETE. Dit lijkt allemaal goed te gaan.
Nu wil ik dit ook invoeren bij een SELECT-opdracht.
Hiervoor had ik de volgende code in gedachten (die niet werkt):
Deze bovenstaande geeft een lege verwerking. Wat doe ik fout??
George
Sinds kort maak ik gebruik van PREPARED STATEMENT bij het verwerken van sql-opdrachten voor UPDATE, INSERT INTO en DELETE. Dit lijkt allemaal goed te gaan.
Nu wil ik dit ook invoeren bij een SELECT-opdracht.
Hiervoor had ik de volgende code in gedachten (die niet werkt):
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
include "queries/sql_laatstgezocht.php"; // Hier zit de sql-instructie in met variabele $sql
// Create a prepared statement
$stmt=mysqli_stmt_init($verbinding);
if (mysqli_stmt_prepare($stmt,$sql)) {
// Execute query
mysqli_stmt_execute($stmt);
// Fetch value
$row = mysqli_stmt_fetch($stmt); // Hier lijkt het niet te werken. Wat doe ik fout???
// Close statement
mysqli_stmt_close($stmt);
}
?>
include "queries/sql_laatstgezocht.php"; // Hier zit de sql-instructie in met variabele $sql
// Create a prepared statement
$stmt=mysqli_stmt_init($verbinding);
if (mysqli_stmt_prepare($stmt,$sql)) {
// Execute query
mysqli_stmt_execute($stmt);
// Fetch value
$row = mysqli_stmt_fetch($stmt); // Hier lijkt het niet te werken. Wat doe ik fout???
// Close statement
mysqli_stmt_close($stmt);
}
?>
Deze bovenstaande geeft een lege verwerking. Wat doe ik fout??
George
PHP hulp
18/04/2024 03:01:44Tussen mysqli_stmt_execute() en mysqli_stmt_fetch() moet je nog mysqli_stmt_bind_result() gebruiken om het resultaat te binden aan PHP-variabelen.
George van Baasbank
08/12/2013 12:40:52Ward,
Bedankt voor je tip. Ik heb het statement werkend.
Overigens gaf php.net aan dat mysqli_stmt vervangen moet worden door maxdb_stmt.
Ik heb gewoon de "oude" syntax gebruikt en die werkt voortreffelijk.
Bedankt voor je tip. Ik heb het statement werkend.
Overigens gaf php.net aan dat mysqli_stmt vervangen moet worden door maxdb_stmt.
Ik heb gewoon de "oude" syntax gebruikt en die werkt voortreffelijk.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
// Create a prepared statement
$stmt=mysqli_stmt_init($verbinding);
if (mysqli_stmt_prepare($stmt,$sql)) {
// Execute query
mysqli_stmt_execute($stmt);
/* bind variables to prepared statement */
mysqli_stmt_bind_result($stmt, $cPersoonId, $dPersoonDatum, $cVoornaam, $cTussenvoeg, $cAchternaam);
// Fetch value
mysqli_stmt_fetch($stmt);
// Close statement
mysqli_stmt_close($stmt);
}
?>
// Create a prepared statement
$stmt=mysqli_stmt_init($verbinding);
if (mysqli_stmt_prepare($stmt,$sql)) {
// Execute query
mysqli_stmt_execute($stmt);
/* bind variables to prepared statement */
mysqli_stmt_bind_result($stmt, $cPersoonId, $dPersoonDatum, $cVoornaam, $cTussenvoeg, $cAchternaam);
// Fetch value
mysqli_stmt_fetch($stmt);
// Close statement
mysqli_stmt_close($stmt);
}
?>