Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich PHP-Variablen sicher in MySQL-INSERT-Anweisungen einbinden?
Das Einfügen von Werten in das Inhaltsverzeichnis mit einer PHP-Variablen als Teil der VALUES-Klausel kann problematisch sein. Lassen Sie uns das Problem angehen und den richtigen Ansatz bereitstellen.
Die Sicherstellung der korrekten Handhabung von PHP-Variablen in MySQL-Anweisungen ist von entscheidender Bedeutung. Die Hauptregel besteht darin, vorbereitete Anweisungen zu verwenden. Ersetzen Sie PHP-Variablen durch Platzhalter in Ihrer SQL-Anweisung und befolgen Sie diese Schritte:
Mit MySQLi:
<?php $type = 'testing'; $reporter = "John"; $description = "whatever"; $sql = "INSERT INTO contents (type, reporter, description) VALUES ('$type', ?, ?)"; $mysqli->execute_query($sql, [$reporter, $description]); ?>
Mit PDO:
<?php $type = 'testing'; $reporter = "John"; $description = "whatever"; $sql = "INSERT INTO contents (type, reporter, description) VALUES ('$type', ?, ?)"; $stmt = $pdo->prepare($sql); $stmt->execute([$reporter, $description]); ?>
Verwenden Sie für Abfrageteile wie Schlüsselwörter oder Bezeichner (Datenbank-, Tabellen- oder Feldnamen) die Whitelist-Filterung. Dabei wird die PHP-Variable explizit mit einer vordefinierten Liste zulässiger Werte verglichen. Wenn die Variable mit einem zulässigen Wert übereinstimmt, kann sie sicher in die Abfrage einbezogen werden. Andernfalls lösen Sie eine Ausnahme für ungültige Eingaben aus.
Das Befolgen dieser Richtlinien gewährleistet die sichere und effiziente Handhabung von PHP-Variablen in MySQL-Anweisungen. Die Verwendung vorbereiteter Anweisungen für Variablen, die Datenliterale darstellen, und Whitelist-Filterung für Bezeichner garantiert Datenintegrität und Schutz vor Injektionsangriffen.
Das obige ist der detaillierte Inhalt vonWie kann ich PHP-Variablen sicher in MySQL-INSERT-Anweisungen einbinden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!