避免MySQL 程式碼中的陷阱:綜合指南
雖然MySQL 擴充提供了資料庫互動的功能,但它的使用可能充滿了常見問題陷阱。本綜合指南旨在為使用 MySQL 擴充功能編寫安全可靠的程式碼提供參考。
核心原則
範例程式碼
考慮這個更新 MySQL資料庫中的記錄的範例程式碼,解決了上述問題問題:
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); }
其他注意事項
透過遵守這些準則並利用提供的範例,您可以有效降低與使用 MySQL 擴充功能相關的風險,確保 PHP 程式碼中健壯且安全的資料庫互動。
以上是如何用 PHP 寫安全可靠的 MySQL 程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!