问题

我不应该使用 mysql _ * 函数的技术原因是什么? (例如 mysql_query(), mysql_connect() mysql_real_escape_string())?

为什么要使用其他内容,即使他们在我的网站上工作?



解决方法

MySQL扩展:

  • Is not under active development
  • Is officially deprecated as of PHP 5.5 (released June 2013).
  • Has been removed entirely as of PHP 7.0 (released December 2015)
  • Lacks an OO interface
  • Doesn't support:
    • Non-blocking, asynchronous queries
    • Prepared statements or parameterized queries
    • Stored procedures
    • Multiple Statements
    • Transactions
    • The "new" password authentication method (on by default in MySQL 5.6; required in 5.7)
    • All of the functionality in MySQL 5.1

由于已弃用,因此使用它会使您的代码不再具有前瞻性.

缺乏对预准备语句的支持尤其重要,因为它们提供了一种更清晰,更不易出错的转义和引用外部数据的方法,而不是使用单独的函数调用手动转义它.

请参见 SQL扩展的比较 .




相关问题推荐