Ich versuche, einen Datensatz mit den Informationen aus einer Mehrfachauswahlbox zu aktualisieren, ich hatte es funktioniert gut, wenn ich INSERT INTO verwendete, um eine neue Zeile hinzuzufügen, aber jetzt versuche ich, es zu diesem Code hinzuzufügen, der verwendet mysql_real_escape_string() gibt die Fehlermeldung am Ende dieses Posts zurück. Ich nehme an, es stimmt etwas nicht mit dem Wert, den ich versuche, in es zu übergehen, aber ich weiß nicht, wie man es formatiert, um PHP glücklich zu machen!MySQL PHP mysql_real_escape_string() - ist dieser Wert keine Zeichenfolge?
$query = "UPDATE studies
SET strategies = '" . mysql_real_escape_string($strategies) . "' WHERE id = '" . mysql_real_escape_string($id) . "'";
while($row = mysql_fetch_array($result)) {
$strategylist = $row['name'];
$strategyname = htmlspecialchars($row['name']);
$pagelink = str_replace(" ","_",$strategylist);
echo '<option value="<a href="strategies.php?strategy=' . $pagelink . '">'.$strategyname.'</a>" >' . $strategyname . '</option>' . '\n';
}
Warning: mysql_real_escape_string() erwartet Parameter 1 Zeichenfolge, Array auf der Leitung 100 gegeben werden (das ist die Linie über das beginnt SET Strategien = '“.....)
Können Sie den Code eingeben, der $ strategies und $ id zuweist? –
Ich denke, Sie müssen den Code überprüfen, der $ id und $ strategies Variablen setzt. Ansonsten ist es schwer zu sagen, welcher von ihnen einen Fehler auslöst. Sie sollten vor der Generierung der Abfragezeichenfolge relevanten Code eingefügt haben. –
Da es schneller ist, versuchen Sie, den Operator (int) $ id oder intval ($ id) anstelle von mysql_real_escape_string ($ id) zu verwenden. – merkuro