Nicht übergeben parameter durch Verweis in MySQLi
Ich bin versucht, übergeben Sie eine Zeichenfolge in meine MySQLi prepared statement, aber es gibt mir die Fehlermeldung:
Nicht übergeben parameter durch Verweis in MySQLi
Hier ist der relevante code:
$kv = json_encode(array($key => $value));
$stmt->prepare("insert into rules (application_id, ruletype, rule_name, rule_info) values (?, ?, ?, ?);");
$stmt->bind_param('iiss', $application_id, 1, $config_name, $kv);
- Warum nicht einfach einbetten der
'1'
direkt in der Abfrage? Wenn es ein statischer Wert, es gibt keinen Punkt in so dass es eine gebundene parameter. Ansonsten, einfach$one = 1;
und dann pass in$one
in der bind-Aufruf. Sie können nicht einen Verweis auf eine Konstante.
Du musst angemeldet sein, um einen Kommentar abzugeben.
'iiss' und '1' kann nicht übergeben werden, als Referenz, denn Sie sind nicht Variablen, sondern string-Konstanten. Sie müssen erstellen Sie zwei Variablen mit den genannten Werte übergeben, weil bind_param () - Funktion erwartet, dass Variablen per Referenz übergeben.
Edit: es ist '1', das verursacht das problem, nicht die Namen der parameter gebunden ('iiss'). Sorry für die Fehlinformation, ich war in Eile als ich die Antwort auf Ihre Frage.
Überprüfen
$config_name
argument.'1'
nicht der pass, Referenzen