Heim >Backend-Entwicklung >PHP-Tutorial >Warum schlägt „bindParam' von PDO mit Konstanten fehl und wie kann ich den Fehler „Parameter 2 kann nicht als Referenz übergeben werden' beheben?
Fehlerbehebung „Parameter 2 kann nicht als Referenz übergeben werden“ Fehler im PDO bindParam mit Konstanten
Bei der Arbeit mit PDO können Entwickler auf den rätselhaften Fehler stoßen „Parameter 2 kann nicht als Referenz übergeben werden.“ Dies tritt normalerweise auf, wenn bindParam mit konstanten Werten verwendet wird.
Um dieses Problem zu beheben, ist es wichtig, von bindParam zu bindValue zu wechseln. bindParam verwendet eine Variable als Referenz und interpoliert ihren Wert nur während der Anweisungsausführung. Im Gegensatz dazu wertet bindValue den bereitgestellten Wert sofort aus und integriert ihn in die Anweisung.
Das folgende Beispiel zeigt die korrekte Verwendung von bindValue:
$stmt = $dbh->prepare('INSERT INTO table(v1, v2, ...) VALUES(:v1, :v2, ...)'); $stmt->bindValue(':v1', null, PDO::PARAM_INT);
Beachten Sie, dass die Bindung eines konstanten Werts wie null erfolgen sollte Dies kann mit PDO::PARAM_INT oder einem anderen geeigneten PDO::PARAM-Typ statt mit PDO::PARAM_NULL erfolgen.
Von Nach dieser einfachen Anpassung können Entwickler den Fehler „Parameter 2 kann nicht als Referenz übergeben werden“ effektiv beheben und ungehindert mit ihren Datenbankoperationen fortfahren.
Das obige ist der detaillierte Inhalt vonWarum schlägt „bindParam' von PDO mit Konstanten fehl und wie kann ich den Fehler „Parameter 2 kann nicht als Referenz übergeben werden' beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!