第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

如何使用不推薦使用的mysql_ *函數(shù)成功重寫舊的mysql-php代碼?

如何使用不推薦使用的mysql_ *函數(shù)成功重寫舊的mysql-php代碼?

小怪獸愛吃肉 2019-12-04 12:52:14
我仍然主要從所購買的書中學(xué)習(xí),但是今天我提醒我,盡管我今年購買了有關(guān)PHP編程的書,但我的書已經(jīng)過時(shí)了。現(xiàn)在,我知道不推薦使用PHP中的mysql_ *命令,而應(yīng)使用更安全,更穩(wěn)定的預(yù)處理語句和PDO代替它們。因此,我根據(jù)自己的意愿重寫了所有網(wǎng)絡(luò),也許我會需要您一些建議,以幫助他們正確地進(jìn)行網(wǎng)絡(luò)建設(shè)以及所有經(jīng)驗(yàn)豐富的人的工作:)因此,我將在這里僅以主要部分(連接到數(shù)據(jù)庫并選擇數(shù)據(jù)庫)開始我的重寫(其余的我可以自己用Google和手冊完成)。我將在這里寫下我的舊腳本,并問您我是否在做正確的事情,并且沒有丟失任何東西,我希望這對其他人也可以是一本不錯(cuò)的手冊/答案。因此,讓我們開始吧。所以在配置中我有這樣的事情:$db = new dbConn('127.0.0.1', 'root', 'pass', 'people', 'animals');應(yīng)該是這樣的:$db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');對?但是,當(dāng)我以后需要選擇數(shù)據(jù)庫時(shí),應(yīng)該不這樣做dbname=people;嗎?但是以后如何選擇數(shù)據(jù)庫?這是我重寫的腳本,也是大多數(shù)Web項(xiàng)目中最基本的腳本,我希望它不僅使我了解新的PDO系統(tǒng)是如何工作的: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 die ('cannot connect to MySQL');  }  public function selectDb($database)  {    switch($database)    {      case 'people':        mysql_select_db($this->db_people, $this->conn) or die ('cannot connect to database '.$this->db_people.'.');        mysql_query("SET NAMES 'utf8'");        break;      case 'animals':        mysql_select_db($this->db_animals, $this->conn) or die ('cannot connect to database '.$this->db_animals.'.');        mysql_query("SET NAMES 'utf8'");     }  }所以,從我所知道的谷歌和維基-功能,如public function __construct與public function __destruct()不應(yīng)該需要了,對不對?與public function connect()SO之類的功能相同,只剩下什么,public function selectDb($database)但是我不知道如何正確執(zhí)行此操作而不破壞所有與數(shù)據(jù)庫的連接。因?yàn)樵谖业钠溆啻a(此處未提及)中,我可以通過此代碼輕松選擇數(shù)據(jù)庫:$this->db->selectDb("people");但是,使用準(zhǔn)備好的語句,我什至不知道這樣做是否可行。希望您提出一些建議,以幫助我和其他用戶更好地理解此新代碼。您可能擁有的代碼中的其他部分在此MySQL開發(fā)人員的PDO教程中進(jìn)行了說明。謝謝。
查看完整描述

2 回答

?
拉莫斯之舞

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊

我認(rèn)為在應(yīng)用程序內(nèi)部切換數(shù)據(jù)庫的最簡單方法是:


$pdo_instance->query("USE people");


$pdo_instance->query("USE animals");

或者更好(更清潔)的方式可能是


$db_people = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');


$db_animals = new PDO('mysql:host=127.0.0.1;dbname=animals;charset=UTF-8', 'root', 'pass');

如果您將班級中的數(shù)據(jù)庫標(biāo)記為活動(dòng)數(shù)據(jù)庫,則可以使用$db_people->query()或來訪問數(shù)據(jù)$db_animals->query()。


查看完整回答
反對 回復(fù) 2019-12-04
  • 2 回答
  • 0 關(guān)注
  • 548 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號