Den PHP-Fehler „Parameter 2 kann nicht per Referenz übergeben werden“ verstehen
In PHP ermöglicht die Übergabe von Parametern per Referenz Änderungen an der übergebenen Variablen in der Originalvariablen widergespiegelt werden. Wenn jedoch erwartet wird, dass ein Parameter als Referenz übergeben wird, dies aber nicht der Fall ist, kann dies zum Fehler „Parameter 2 kann nicht als Referenz übergeben werden“ führen.
Spezifisches Fehlerszenario: UPDATE-Abfrage mit Datumsvergleich
Betrachten Sie den folgenden PHP-Code:
$selectedDate = date('d-m-Y', ($createDate)); $sql = "UPDATE Session SET Active = ? WHERE DATE_FORMAT(SessionDate,'%Y-%m-%d' ) <= ?"; $update = $mysqli->prepare($sql); $update->bind_param("is", 0, $selectedDate); // Line 13
In diesem Beispiel versucht Zeile 13 dies Binden Sie zwei Parameter an die vorbereitete Anweisung:
Es wird jedoch erwartet, dass der zweite Parameter eine Referenz auf eine Variable ist, angezeigt durch das „s“ in der Zeichenfolge vom Typ „is“. Da es nicht als Referenz übergeben wird, wird der Fehler „Parameter 2 kann nicht als Referenz übergeben werden“ ausgegeben.
Lösung: Übergabe einer Variablenreferenz
Um diesen Fehler zu beheben, übergeben Sie eine Variablenreferenz auf den zweiten Parameter, wie unten gezeigt:
$isActive = 0; $update->bind_param("is", $isActive, $selectedDate);
Durch die Übergabe von $isActive als Referenz werden Änderungen daran innerhalb der vorbereiteten Anweisung vorgenommen in der ursprünglichen Variablen widergespiegelt werden.
Referenzen in PHP verstehen
Weitere Informationen zu Referenzen in PHP finden Sie in der folgenden Dokumentation: http://php .net/manual/en/sprache.references.pass.php.
Das obige ist der detaillierte Inhalt vonWarum gibt mein PHP-Code den Fehler „Parameter 2 kann nicht als Referenz übergeben werden' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!