Tags
-
Recent Posts
Recent Comments
Categories
Archives
Links
Tools
Meta
Tag Archives: 性能
PHP开发者使用MySQL的10大常见错误
PHP开发者使用MySQL的10大常见错误 数据库是大部分Web程序的基础,对于PHP开发者来说,MySQL是最常用的数据库之一。 PHP是相对简单的编程语言,新手能在几个小时内写出可执行的代码。但是,要构建一个稳固的、可靠的数据库需要时间和技术。这里列出10大最严重的MySQL错误。 1. 使用MyISAM数据库引擎而不是InnoDB MySQL提供很多数据库引擎,但是最常用的是MyISAM和InnoDB. MyISAM是MySQL的默认数据库引擎。但MyISAM并不是适当的选择,除非你只是用来构建很简单的、试验性的数据库。MyISAM不支持外键约束、事务等其它高级的数据库特性。另外,在insert或update数据的时候,整个数据表将会被锁定,随着使用的增长这会对性能产生不利影响。 这问题的解决方案很简单:使用InnoDB。 2. 使用PHP的MysQL函数 很多程序依赖于PHP提供的函数库,如mysql_connect, mysql_query, mysql_fetch_assoc, 等, 但是PHP用户手册中写道: 如果你使用的MySQL是4.1.3及以上版本,则强烈建议你使用mysqli扩展来替代. mysqli是PHP中增强的MySQL扩展,具有不少优点: 一个(可选的)面向对象的接口 提供prepared statement(有助于防止SQL注入攻击和提高性能) 多语句支持 事务支持 除此之外,如果你希望提供多数据库支持,最好考虑PDO. 3. 不过滤用户输入 这点非常重要:永远不要信任用户的输入. 在服务器的PHP中验证用户输入的每一个字条串,而不要依赖于JavaScript。简单的SQL注入依赖于这样的代码: $username = $_POST['name']; $password = $_POST['password']; $sql = “SELECT user_id FROM users WHERE … Continue reading