Parameter können nicht als Referenz mit bindParam für konstante Werte übergeben werden?
Beim Arbeiten mit PDO kann die Fehlermeldung „Kann nicht übergeben werden“ auftreten Parameter 2 durch Referenz“ bei Verwendung von bindParam mit konstanten Werten. Hier erfahren Sie, warum und wie Sie das Problem beheben können:
Das Problem
bindParam erwartet, dass eine Variable als Referenz und nicht als konstanter Wert gebunden wird. Konstante Werte wie null, '' (leerer String) oder PDO::PARAM_NULL können nicht als Referenz übergeben werden.
Die Lösung
Um konstante Werte zu binden, verwenden Sie bindValue anstelle von bindParam. bindValue akzeptiert einen Literalwert, ohne ihn als Referenz zu übergeben. Der folgende Code verwendet bindValue, um einen NULL-Wert einzufügen:
$stmt->bindValue(':v1', null, PDO::PARAM_NULL);
Hinweis:
Das obige ist der detaillierte Inhalt vonWarum kann ich „bindParam' nicht mit konstanten Werten in PDO verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!