相关疑难解决方法(0)

如何使用已弃用的mysql_*函数成功重写旧的mysql-php代码?

我仍然主要从我买的书中学习,但今天我知道我的书已经老了,即使我今年买了关于PHP编程的书.现在我知道PHP中的mysql_*命令已被弃用,应该用更安全和稳定的预处理语句和PDO替换.所以我根据它自己重写了我的所有网页,也许我需要你的一些建议如何正确地做到这一点,并为你工作所有更有经验的人:)

所以我将在这里开始我的重写只有主要部分(连接数据库并选择数据库)(其余的我可以自己用google和手册).我会在这里写下我的旧剧本,并问你我是否正在做一切正确而且没有遗漏任何东西,我希望这也可以成为其他人的好手册/答案.让我们开始吧.

所以在配置中我有这样的东西:

$db = new dbConn('127.0.0.1', 'root', 'pass', 'people', 'animals');
Run Code Online (Sandbox Code Playgroud)

这应该是这样的:

$db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');
Run Code Online (Sandbox Code Playgroud)

对?但是当我需要选择数据库以后我应该没有dbname=people;?但是如何选择数据库呢?

这是我唯一的重写脚本,这是大多数Web项目的基础,我希望它不仅能让我理解新的PDO系统是如何工作的:

class dbConn
{
  public function __construct($server, $user, $pass, $db_people, $db_animals)
  {    
    if (!empty($server) && !empty($user) && !empty($pass) && !empty($db_people) && !empty($db_animals))
    {
      $this->server = $server;
      $this->user =  $user;
      $this->pass = $pass;
      $this->db_people = $db_people;  
      $this->db_animals = $db_animals;  
      $this->connect(); 
    }  
    else
    {
      die("Set up connection to db");
    }
  }

  public function connect()
  {
    $this->conn = mysql_connect($this->server, $this->user, $this->pass) or …
Run Code Online (Sandbox Code Playgroud)

php mysql database deprecated

16
推荐指数
1
解决办法
3028
查看次数

标签 统计

database ×1

deprecated ×1

mysql ×1

php ×1