Sampel Kod Sempurna Menggunakan Sambungan MySQL
Masalah:
Dalam usaha untuk mencipta sumber pembelajaran komuniti untuk pertanyaan pangkalan data PHP yang selamat dan bebas ralat, masalah hipotetikal ini membentangkan tugas menjana sampel kod yang sempurna menggunakan sambungan MySQL. Matlamatnya adalah untuk menangani isu biasa seperti suntikan SQL, pelaporan ralat dan suntikan XSS.
Penyelesaian:
Untuk menangani kerumitan pengendalian input pengguna dan memastikan data integriti, penyelesaian yang disediakan mengutamakan keselamatan dan kesederhanaan.
<?php 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); }
Sampel kod ini merangkumi kunci berikut prinsip:
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Contoh Kod MySQL PHP yang Selamat dan Bebas Ralat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!