Cara Membuat Pertanyaan Pangkalan Data Selamat dengan Sambungan MySQL
Pelanjutan MySQL menawarkan pendekatan asas namun berfungsi untuk interaksi pangkalan data dalam PHP. Walaupun bukan pilihan yang paling dianjurkan, penggunaannya yang betul boleh mengurangkan kemungkinan masalah keselamatan dan kebolehgunaan.
Pertimbangan Penting untuk Pertanyaan Selamat
Untuk melindungi daripada kelemahan biasa, adalah penting untuk mematuhi amalan terbaik:
Kod Contoh untuk Interaksi MySQL Selamat
Mari kita gambarkan skrip PHP selamat yang melakukan pertanyaan KEMASKINI pada 'nama jadual' jadual:
header('Content-type: text/html; charset=utf-8'); error_reporting(E_ALL | E_STRICT); ini_set('display_errors', 1); $config = array( 'host' => '127.0.0.1', 'user' => 'my_user', 'pass' => 'my_pass', 'db' => 'my_database' ); $connection = @mysql_connect($config['host'], $config['user'], $config['pass']); if (!$connection) { trigger_error('Unable to connect to database: ' . mysql_error(), E_USER_ERROR); } if (!mysql_select_db($config['db'])) { trigger_error('Unable to select db: ' . mysql_error(), E_USER_ERROR); } if (!mysql_set_charset('utf8')) { trigger_error('Unable to set charset for db connection: ' . mysql_error(), E_USER_ERROR); } $result = mysql_query('UPDATE tablename SET name = "' . mysql_real_escape_string($_POST['name']) . '" WHERE id = "' . mysql_real_escape_string($_POST['id']) . '"'); if ($result) { echo htmlentities($_POST['name'], ENT_COMPAT, 'utf-8') . ' updated.'; } else { trigger_error('Unable to update db: ' . mysql_error(), E_USER_ERROR); }
Penjelasan
Sampel kod ini menunjukkan cara untuk melaksanakan pertanyaan kemas kini selamat menggunakan sambungan MySQL. Ia berfungsi sebagai rujukan untuk pembangun yang ingin melaksanakan amalan terbaik dalam interaksi pangkalan data mereka sendiri.
Atas ialah kandungan terperinci Bagaimana Menggunakan Sambungan MySQL dalam PHP dengan Selamat untuk Mencegah Suntikan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!