mysqli bind_result/fetch-problem
Ich bin, zu lernen, wie verwenden Sie vorbereitete Anweisungen, die mit php 5 mysqli Objekte und ich habe Probleme damit, das grundlegende Ergebnis der Bindung zu arbeiten. Ich bin nach dem Beispiel-code aus php.net aber etwas nicht funktioniert, wird die gebundene Ergebnisse sind immer NULL. Hier ist, was ich haben
/* prepare-Anweisung */
if ($stmt = $DB->mysqli->prepare("SELECT `alias`,`nameFirst`,`nameLast`,`email`,`access_level` FROM `users` WHERE `alias` LIKE CONCAT('%',?,'%') LIMIT 20;")) {
$stmt->bind_param('s',$alias);
$stmt->execute();
/* bind variables to prepared statement */
$stmt->bind_result($col1, $col2);
/* fetch values */
while ($stmt->fetch()) {
echo "COL 1=".$col1." | COL2=".$col2."<br />";
}
/* close statement */
$stmt->close();
} else echo "NO DICE";
- Ich hatte das gleiche problem wie der OP, aber die Sache war für mich, dass ich hatte eine Komma fehlt noch in meiner
SELECT a, b, c, d, e f, g
- Anweisung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ooops, ich habe den Hinweis direkt auf die php-docs:
Fand die Antwort hier:
Prepared Statement nicht wieder alles
Oder, Sie können alle Felder in einem array wie
$cols[]
. Beim drucken können Sie echo$cols[0].$cols[1]
und so weiter.