Exemple de code parfait utilisant l'extension MySQL
Problème :
Dans la quête pour créer une ressource d'apprentissage communautaire pour les requêtes de base de données PHP sécurisées et sans erreur, ce problème hypothétique présente la tâche de générer un exemple de code parfait à l'aide de l'extension MySQL. L'objectif est de résoudre les problèmes courants tels que l'injection SQL, le rapport d'erreurs et l'injection XSS.
Solution :
Pour résoudre les complexités liées à la gestion des entrées utilisateur et à la garantie des données intégrité, la solution fournie donne la priorité à la sécurité et à la simplicité.
<?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); }
Cet exemple de code encapsule la clé suivante principes :
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!