PHP 升级后弃用的 mysql_* 函数:解决方法
从 PHP 5.2.0 升级到 5.5.0 后,尝试时可能会出现问题使用 mysql_* 函数。这是由于这些函数已被弃用。
遇到错误:已弃用的 mysql_real_escape_string()
要解决此问题,请将 mysql_real_escape_string() 替换为其现代化的对应项:mysqli_real_escape_string( ).
遇到错误:mysqli_real_escape_string() 需要 2 个参数
使用 mysqli_real_escape_string() 时,需要两个参数:连接变量和要转义的字符串。
经过修改的示例代码:
<?php $connection = mysqli_connect("host", "my_user", "my_password", "my_db"); $username = mysqli_real_escape_string($connection, $username); $password = mysqli_real_escape_string($connection, $password); $query = "SELECT * FROM login WHERE username = '{$username}' AND password = '{$password}' AND status=1";
考虑使用面向对象的方法
为了提高可维护性,请考虑使用数据库对象类,它封装了连接详细信息:
<?php class Database { private $connection; public function __construct($host, $user, $password, $database) { $this->connection = mysqli_connect($host, $user, $password, $database); } public function escape($string) { return mysqli_real_escape_string($this->connection, $string); } // Other database operations... }
结论:
通过遵循这些准则,开发人员可以成功解决 mysql_ 遇到的弃用问题* 升级PHP后即可使用。
以上是为什么升级 PHP 后我的 mysql_* 函数被弃用?的详细内容。更多信息请关注PHP中文网其他相关文章!