避免 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中文网其他相关文章!