Ich bin derzeit versucht, eine Abfrage auszuführen, wo der aktuelle Wert einer Spalte MySQL-Tabelle selbst um 1 erhöhen ... Lassen Sie mich zu zeigen, mit mysql query BeispielPDO vorbereitete Anweisung Probleme
$sql = mysql_query("UPDATE `table` SET quantity=quantity+1 WHERE id='$id'");
vermag ich nicht zu tun dies in PDO vorbereitete Anweisung ...
$sql = "UPDATE `table` SET quantity=:quants+1 WHERE id=:userid";
$sql_prep = $db->prepare($sql);
$sql_prep->bindParam(":quants", what will i write here??);
$sql_prep->bindParam(":userid", $id);
$sql_prep->execute();
Hilfe benötigt ..! Dank
Was ist mit sql_injection? Wird diese Abfrage die SQL-Injektion verhindern? – nick
Keine Injektion, der einzige Parameter, den Sie an die Abfrage übergeben, ist Benutzer-ID. Die Menge ist intern in der Datenbank. –
Beim Transponieren oder Bearbeiten von Daten in der Datenbank müssen Sie sich normalerweise keine Gedanken über die SQL-Injection machen. Die MySQL-Datenbank beschäftigt sich bereits mit nativen Daten und muss nicht darauf trainiert werden, wie sie gehandhabt wird. Die Ausnahme von dieser Regel ist, wenn Sie * SQL-Abfragen in einer gespeicherten Prozedur verfassen. – tadman