av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

php語(yǔ)言

mysql,mysqli,PDO的優(yōu)劣比較

時(shí)間:2025-05-16 10:48:05 php語(yǔ)言 我要投稿
  • 相關(guān)推薦

mysql,mysqli,PDO的優(yōu)劣比較

  隨著計(jì)算機(jī)的發(fā)展,軟件技術(shù)也在不斷更新發(fā)展,以下是百分網(wǎng)小編精心為大家整理的mysql,mysqli,PDO的優(yōu)劣比較,希望對(duì)大家有所幫助!更多內(nèi)容請(qǐng)關(guān)注應(yīng)屆畢業(yè)生網(wǎng)!

  PDO,MYSQL,MYSQLI 性能哪個(gè)比較好,普通的mysql連接肯定是會(huì)被拋棄的 因?yàn)槊看味家乐箂ql注入的問(wèn)題 而且相對(duì)來(lái)說(shuō)比較慢

  普通的mysql連接肯定是會(huì)被拋棄的 因?yàn)槊看味家乐箂ql注入的問(wèn)題 而且相對(duì)來(lái)說(shuō)比較慢

  mysqli是在普通mysql的基礎(chǔ)上做的一次優(yōu)化 說(shuō)實(shí)話 很成功 預(yù)處理方式完全解決了sql注入的問(wèn)題

  但是唯一的不足點(diǎn) 就是只支持mysql數(shù)據(jù)庫(kù) 當(dāng)然 如果你要是不操作其他的數(shù)據(jù)庫(kù)或者 當(dāng)然這無(wú)疑是最好的選擇

  PDO則是最新出來(lái)的一種 連接方式 兼容大部分?jǐn)?shù)據(jù)庫(kù) 也解決了sql注入 但是也有缺點(diǎn) 它只支持php5以上的版本 不過(guò)聽(tīng)說(shuō)在未來(lái)的php6中 只支持這種連接

  PDO統(tǒng)一所有數(shù)據(jù)庫(kù)抽象層對(duì)象接口,mysqli只統(tǒng)一mysql的

  簡(jiǎn)單說(shuō),PDO可以實(shí)現(xiàn)同樣的代碼對(duì)不同數(shù)據(jù)庫(kù)的操作,例如你從mysql遷移到mssql,程序基本不需要改動(dòng)

  而mysqli簡(jiǎn)單理解未mysql的封裝就好

  在高負(fù)載的情況下.PDO開(kāi)啟長(zhǎng)連接能夠得到一個(gè)相對(duì)穩(wěn)定的負(fù)載“值”。但是效率卻不是最高的。

  mysql最快。mysqli其次。只是mysql和mysqli在高并發(fā)、系統(tǒng)高負(fù)載的時(shí)候。其所承擔(dān)的負(fù)載也是很可觀的。PDO則不會(huì)。

  【拓展閱讀】 MySQL改密碼報(bào)錯(cuò):ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)

  明天去面試,今晚想看看MySQL的一些指令,雖然之前一直在用Mysql,但是感覺(jué)都是在做一些簡(jiǎn)單的操作。結(jié)果剛開(kāi)始搗騰Mysql就吃了閉門(mén)羹,我之前一直用的>mysql -uroot -p。Enter Password:123456去鏈接Mysql數(shù)據(jù)庫(kù)的,也從來(lái)沒(méi)有修改過(guò)密碼,結(jié)果當(dāng)我用>mysqladmin -uroot -p123456 password abc123;指令把密碼改為“abc123”再重新連接數(shù)據(jù)庫(kù)的時(shí)候竟然一直在報(bào):Access denied for user 'root'@'localhost' (using password:YES) 這個(gè)錯(cuò)。

  上網(wǎng)找了很多資料,知道大概是因?yàn)闆](méi)有給root設(shè)置權(quán)限的原因,方法終于是找到一種了。不過(guò)比較麻煩,但是也沒(méi)有辦法了,不弄好我的Mysql數(shù)據(jù)庫(kù)就用不了,很多開(kāi)發(fā)的應(yīng)用都是連的Mysql數(shù)據(jù)庫(kù)。

  大概的步驟如下:

  第一步:以系統(tǒng)管理員身份登錄到系統(tǒng);

  第二步:如果MySQL服務(wù)器正在運(yùn)行,停止它。 方法有兩個(gè),1:開(kāi)始菜單->控制面板->管理工具->服務(wù),找到Mysql服務(wù)停掉。2:右擊我的電腦->管理->服務(wù)與應(yīng)用->服務(wù),找到mysql服務(wù)停掉。3:Ctrl+Alt+Delete->啟動(dòng)服務(wù)管理器->服務(wù),找到mysql服務(wù)停掉。(這一步這么簡(jiǎn)單,我寫(xiě)的太詳細(xì),不應(yīng)該不應(yīng)該啊!浪費(fèi)電平啊!)

  第三步:選擇一個(gè)硬盤(pán)最外面創(chuàng)建一個(gè)txt文件,為什么呢?因?yàn)檫@個(gè)txt只是輔佐你解決掉這個(gè)錯(cuò)誤,解決掉錯(cuò)誤它的光榮任務(wù)就完成了,就可以壯烈犧牲了,不要感到可惜,它沒(méi)有生命的。比如放在:C:\mysql-init.txt。(這個(gè)txt最好還是取這個(gè)名字,不要個(gè)性化,其他不知道行不行,我也沒(méi)有實(shí)驗(yàn)過(guò),這個(gè)名字正好是Mysql的進(jìn)程名字,不要問(wèn)為什么是這個(gè)名字,計(jì)算機(jī)這東西在中國(guó)是不能問(wèn)為什么的,知道是這樣就行了。)在里面輸入一句話:

  SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');

  后面的那串?dāng)?shù)字是我重新設(shè)置的密碼,因?yàn)槲襇yEclipse的項(xiàng)目里面默認(rèn)的都是這個(gè)密碼,你們改回自己想要的密碼就行了。

  第四步:進(jìn)入DOS命令提示:開(kāi)始菜單->運(yùn)行-> cmd ,然后cd到你安裝Mysql的目錄下,當(dāng)然我的Mysql埋的比較比較深,C:\Program Files\MySQL\MySQL Server 5.0\bin>。如果你將MySQL安裝到了另一位置,請(qǐng)對(duì)下述命令進(jìn)行相應(yīng)的調(diào)整。 在DOS命令提示符下,執(zhí)行命令:

  C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqld-nt --init-file=C:\mysql-init.txt 。

  第五步:?jiǎn)?dòng)服務(wù),步驟和第二步一樣。在服務(wù)器啟動(dòng)時(shí),執(zhí)行由“--init-file”選項(xiàng)(作用:在啟動(dòng)時(shí)從指定的文件中讀取SQL命令)命名的文件的內(nèi)容,更改根用戶(hù)密碼。當(dāng)服務(wù)器成功啟動(dòng)后,應(yīng)刪除C:\mysql-init.txt。這個(gè)時(shí)候這個(gè)txt的任務(wù)完成了。如果起動(dòng)MySQL服務(wù)器出錯(cuò),把進(jìn)程mysqld-nt.exe關(guān)閉(第二步的第三種方法可以找到進(jìn)程關(guān)掉)。然后重啟它,OK。

  最后就可以用你在第三步設(shè)置的密碼>mysql -uroot -p 去鏈接Mysql數(shù)據(jù)庫(kù)了。

  但是你會(huì)問(wèn)難道我每次改密碼都要弄出這個(gè)錯(cuò)來(lái),還要犧牲一個(gè)txt才能改密碼成功嗎?就沒(méi)有一條指令搞定改密碼這種簡(jiǎn)單的事情,當(dāng)然不是啦。具體方法就是你用這條指令>mysqladmin -uroot -p123456 password abc123;改密碼的時(shí)候,要用這個(gè)指令>mysql -uroot -p123456登錄,而不是換行輸進(jìn)密碼,登錄之后再在mysql>操作符后面加上一句給權(quán)限的語(yǔ)句(很多資料并沒(méi)有表述明白下面這條指令什么什么時(shí)候輸入,搞得很多人以為是在改完密碼過(guò)后立刻輸入,就會(huì)有報(bào)錯(cuò)聲音):

  grant all on mysql.* to 'root'@'localhost' identified by 'password';

  最后那個(gè)password即是你要修改的root用戶(hù)的密碼 。我這里是“123456”這個(gè)時(shí)候下次登錄才可以用>mysql -uroot -p。Enter Password:123456登錄數(shù)據(jù)庫(kù)。

  其實(shí)以上都是廢話來(lái),如果你想改密碼,直接用原來(lái)的密碼登錄過(guò)后,用下面任何一條指令都可以改密碼,但是要重復(fù)運(yùn)行同一條指令兩次,第一次我把它當(dāng)作改密碼,第二次當(dāng)作授予權(quán)限,這樣一點(diǎn)事都沒(méi)有,你可以這樣子>mysql -uroot -p123456登錄,還可以這樣子>mysql -uroot -p。Enter Password:123456登錄。其中newpassword就是新密碼。

  grant all on mydb.* to NewUserName@HostName identified by "newpassword" ;

  grant usage on *.* to NewUserName@HostName identified by "newpassword";

  grant select,insert,update on mydb.* to NewUserName@HostName identified by "newpassword";

  grant update,delete on mydb.TestTable to NewUserName@HostName identified by "newpassword";

  即是:

  grant all onmysql.* to 'root'@'localhost' identified by "newpassword" ;

  grant usage on *.* to 'root'@'localhost' identified by "newpassword";

  grant select,insert,update on mydb.* to 'root'@'localhost' identified by "newpassword";

  grant update,delete on mydb.TestTable to 'root'@'localhost' identified by "newpassword";

  如果是自己電腦多點(diǎn)嘗試,總會(huì)發(fā)現(xiàn)有辦法的,公司的電腦就不要試?yán),搞壞?shù)據(jù)庫(kù)。有錯(cuò)請(qǐng)指正。哈哈!

【mysql,mysqli,PDO的優(yōu)劣比較】相關(guān)文章:

使用PDO查詢(xún)Mysql來(lái)避免SQL注入風(fēng)險(xiǎn)02-11

Php中用PDO查詢(xún)Mysql來(lái)避免SQL注入風(fēng)險(xiǎn)的方法03-27

電腦大板小板的優(yōu)劣比較02-16

2017計(jì)算機(jī)二級(jí)MySQL考試在MySQL數(shù)據(jù)庫(kù)比較日期的方法07-21

PHP PDO的擴(kuò)展內(nèi)容06-21

MYSQL操作命令05-29

PHP 和 MYSQL05-07

ubuntu下安裝php5+pdo的技巧08-10

php查詢(xún)mysql的實(shí)例04-03