87)PHP,PDO的先行編譯技術

來源:互聯網
上載者:User

標籤:value   資料   固定   區別   span   str   dos   編譯技術   sql注入   

(1)

      

  比如以下的語句:

1 insert into  biao1 values(‘李寧’,‘100’);2 insert into  biao1 values(‘安踏’,‘100’);3 insert into  biao1 values(‘匹克’,‘100’);4 insert into  biao1 values(‘喬丹’,‘100’);5 insert into  biao1 values(‘耐克’,‘100’);6 insert into  biao1 values(‘阿迪’,‘100’);7 insert into  biao1 values(‘361’,‘100’);

那麼,這個PDO就可以只是編譯一次這些語句相同的地方,然後,根據區別來執行不同的語句。

1 或者比如2 insert into team values(NULL,‘國安’);3 insert into team values(NULL,‘恒大’);4 insert into team values(NULL,‘建國’);5 insert into team values(NULL,‘綠地’);

 

文法的實現:

    

1 (1)編譯統一的結構,2 (2)綁定資料到中間編譯結果上,3 (3)執行綁定了資料的語句
1 (1)編譯統一的結構,2             $PDOStatement = $pdo->prepare(SQL的結構);3             SQL結構中的資料部分,可以使用問好,或者冒號標籤的文法來佔用:

 

1 (2)綁定資料到中間編譯結果上,2              $PDOStatement->bindValue()

1 (3)執行綁定了資料的語句    2               $PDOStatement->execute();

 先行編譯的優點:

      更好的防止SQL注入,是因為先行編譯時,不需要使用者的資料參與。編譯時間,結構固定,導致使用者資料不能影響到SQL的結構

普通的執行方法:

      $pdo->query();

      $pdo->exec()

如果需要防止SQL注入,需要人為的轉義使用者資料,使用的方式是$pdo->quote()方法。轉義並使用引號包裹。

 

    

 

87)PHP,PDO的先行編譯技術

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.