Rumah >pangkalan data >tutorial mysql >Bagaimanakah Pertanyaan Berparameter Mencegah Suntikan SQL?
Pertanyaan Berparameter: Perisai Terhadap Suntikan SQL
Memahami Pertanyaan Berparameter
Pertanyaan berparameter, juga dikenali sebagai pernyataan yang disediakan, ialah teknik untuk membuat pernyataan SQL. Ia memisahkan data dinamik (parameter) daripada bahagian tetap pertanyaan. Ini membolehkan tetapan parameter yang cekap semasa pelaksanaan.
PHP dan MySQL: Demonstrasi Praktikal
Mari kita ilustrasikan dengan pertanyaan SQL yang merangkumi parameter untuk alamat e-mel pengguna:
<code class="language-sql">SELECT * FROM users WHERE email = 'foo@example.com'</code>
Pelaksanaan dengan mysqli
<code class="language-php"><?php $mysqli = new mysqli('localhost', 'username', 'password', 'database'); $stmt = $mysqli->prepare("SELECT * FROM users WHERE email = ?"); $stmt->bind_param('s', 'foo@example.com'); $stmt->execute(); $result = $stmt->get_result(); while ($row = $result->fetch_assoc()) { // Process the retrieved data... } $stmt->close(); ?></code>
Pelaksanaan dengan PDO
<code class="language-php"><?php $pdo = new PDO('mysql:host=localhost;dbname=database', 'username', 'password'); $stmt = $pdo->prepare("SELECT * FROM users WHERE email = ?"); $stmt->bindParam(1, 'foo@example.com', PDO::PARAM_STR); $stmt->execute(); $result = $stmt->fetchAll(); foreach ($result as $row) { // Process the retrieved data... } ?></code>
Kelebihan Utama Pertanyaan Berparameter:
Atas ialah kandungan terperinci Bagaimanakah Pertanyaan Berparameter Mencegah Suntikan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!