Maison >développement back-end >tutoriel php >Comment puis-je écrire du code MySQL sécurisé et fiable en PHP ?
Éviter les pièges du code MySQL : un guide complet
Bien que l'extension MySQL offre des fonctionnalités pour les interactions avec les bases de données, son utilisation peut être semée d'embûches. pièges. Ce guide complet vise à fournir une référence pour la création de code sécurisé et fiable à l'aide de l'extension MySQL.
Principes fondamentaux
Exemple de code
Considérez cet exemple de code qui met à jour un enregistrement dans une base de données MySQL, en résolvant les problèmes susmentionnés :
header('Content-type: text/html; charset=utf-8'); error_reporting(E_ALL | E_STRICT); ini_set('display_errors', 1); // Connect to the database $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); } // Use UTF-8 character set mysql_set_charset('utf8'); // Fetch user-submitted data $id = mysql_real_escape_string($_POST['id']); $name = mysql_real_escape_string($_POST['name']); // Prepare and execute the update query $query = 'UPDATE tablename SET name = "' . $name . '" WHERE id = "' . $id . '"'; $result = mysql_query($query); if ($result) { echo htmlentities($name, ENT_COMPAT, 'utf-8') . ' updated.'; } else { trigger_error('Unable to update db: ' . mysql_error(), E_USER_ERROR); }
Considérations supplémentaires
En adhérant à ces directives et en tirant parti de l'exemple fourni, vous pouvez atténuer efficacement les risques associés à l'utilisation de l'extension MySQL, garantissant des interactions de base de données robustes et sécurisées dans votre code PHP.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!