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

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

PDO的查詢與執(zhí)行

PDO的查詢與執(zhí)行

PHP
猛跑小豬 2019-11-25 15:42:36
他們倆都做同一件事,只是做事不同嗎?除了使用prepare之間還有什么區(qū)別$sth = $db->query("SELECT * FROM table");$result = $sth->fetchAll();和$sth = $db->prepare("SELECT * FROM table");$sth->execute();$result = $sth->fetchAll();?
查看完整描述

3 回答

?
慕后森

TA貢獻(xiàn)1802條經(jīng)驗 獲得超5個贊

query 運(yùn)行標(biāo)準(zhǔn)SQL語句,并要求您正確轉(zhuǎn)義所有數(shù)據(jù),以避免SQL注入和其他問題。


execute運(yùn)行一個準(zhǔn)備好的語句,該語句使您可以綁定參數(shù),以避免需要轉(zhuǎn)義或引用參數(shù)。execute如果您多次重復(fù)查詢,效果也會更好。準(zhǔn)備語句的示例:


$sth = $dbh->prepare('SELECT name, colour, calories FROM fruit

    WHERE calories < :calories AND colour = :colour');

$sth->bindParam(':calories', $calories);

$sth->bindParam(':colour', $colour);

$sth->execute();

// $calories or $color do not need to be escaped or quoted since the

//    data is separated from the query

最佳實踐是堅持準(zhǔn)備好的語句并execute提高安全性。


查看完整回答
反對 回復(fù) 2019-11-25
?
臨摹微笑

TA貢獻(xiàn)1982條經(jīng)驗 獲得超2個贊

不,他們不一樣。除了在客戶端提供轉(zhuǎn)義功能外,準(zhǔn)備好的語句在服務(wù)器端也會編譯一次,然后可以在每次執(zhí)行時傳遞不同的參數(shù)。這意味著您可以:


$sth = $db->prepare("SELECT * FROM table WHERE foo = ?");

$sth->execute(array(1));

$results = $sth->fetchAll(PDO::FETCH_ASSOC);


$sth->execute(array(2));

$results = $sth->fetchAll(PDO::FETCH_ASSOC);

盡管在小規(guī)模范圍內(nèi)并不引人注目,但它們通常會為您帶來性能改進(jìn)。閱讀更多有關(guān)準(zhǔn)備好的語句(MySQL版本)的信息。


查看完整回答
反對 回復(fù) 2019-11-25
  • 3 回答
  • 0 關(guān)注
  • 432 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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