


Warum wirft mysqli_stmt::bind_param() „Parameter ... wird voraussichtlich eine Referenz sein, Wert angegeben' aus?
Dec 05, 2024 am 09:11 AMmysqli bind_param()-Fehler: Übergabe von Werten anstelle von Referenzen
Der Fehler „Parameter 3 an mysqli_stmt::bind_param() wird erwartet eine Referenz, Wert gegeben“ entsteht, wenn mysqli_stmt::bind_param() ein Array von übergeben wird Werte anstelle eines Arrays von Verweisen auf diese Werte.
PDO-Code
Im bereitgestellten PDO-Code:
$params = array(1,"2","3","4");
Das $params-Array enthält Werte und keine Verweise auf diese Werte. Um dies zu beheben, verwenden Sie &, um Referenzen zu erstellen:
$params = array(1,&"2", &"3", &"4");
OOP-Code
Ähnlich gilt im OOP-Code:
array_unshift($params, $param_type);
Diese Zeile stellt die Zeichenfolge $param_type voran an den Anfang des $params-Arrays, es werden jedoch keine Verweise auf die Parameterwerte erstellt. Um Referenzen zu erstellen, verwenden Sie das &-Zeichen:
array_unshift($params, $param_type); foreach ($params as $key => $value) { $params[$key] =& $value; }
Alternative Lösung mit Spread-Operator (PHP 5.6)
In PHP-Versionen 5.6 und höher können Sie den Spread-Operator (...) verwenden. ), um das $params-Array als einzelne Argumente zu übergeben, ohne manuell Referenzen erstellen zu müssen:
mysqli_stmt_bind_param($sql_stmt, $param_type, ...$params); $insert_stmt->bind_param($param_type, ...$params);
Durch Übergabe von Referenzen oder Verwendung des Spreads Mit dem Operator können Sie sicherstellen, dass mysqli_stmt::bind_param() ein Array von Referenzen auf die Parameterwerte erhält und so den Fehler behebt.
Das obige ist der detaillierte Inhalt vonWarum wirft mysqli_stmt::bind_param() „Parameter ... wird voraussichtlich eine Referenz sein, Wert angegeben' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium)

Arbeiten mit Flash -Sitzungsdaten in Laravel

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests

Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs

12 Beste PHP -Chat -Skripte auf Codecanyon
