Heim >Datenbank >MySQL-Tutorial >Wie behebt man den Fehler „Parameter kann nicht als Referenz übergeben werden' bei der Verwendung von PDO bindParam mit Konstanten?
Bei der Verwendung vorbereiteter Anweisungen mit Konstanten tritt ein Fehler wie „Parameter 2 kann nicht als Referenz übergeben werden“ auf könnte entstehen. Im Gegensatz zu bindParam, das mit Referenzen arbeitet und während der Ausführung von bindParam keine Werte abruft, ist bindValue für diesen Zweck vorgesehen.
Der problematische Code:
$stmt->bindParam(':v1', PDO::PARAM_NULL);
Um dieses Problem zu beheben, ersetzen Sie bindParam mit bindValue und geben Sie einen konstanten Wert als Argument an.
$stmt->bindValue(':v1', null, PDO::PARAM_INT);
Bitte beachten Sie, dass die Verwendung von PDO::PARAM_NULL in bindValue funktioniert möglicherweise nicht für alle. Verwenden Sie stattdessen PDO::PARAM_INT oder eine entsprechende Konstante, die dem Datentyp der Spalte entspricht.
Zusätzlich sollten Sie bei Verwendung von bindValue den Datentyp mithilfe des dritten Arguments angeben. Dadurch wird sichergestellt, dass die Datenbank den Wert korrekt verarbeitet.
Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „Parameter kann nicht als Referenz übergeben werden' bei der Verwendung von PDO bindParam mit Konstanten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!