pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

      <small id='TpLSJ'></small><noframes id='TpLSJ'>

      1. <tfoot id='TpLSJ'></tfoot>
        <i id='TpLSJ'><tr id='TpLSJ'><dt id='TpLSJ'><q id='TpLSJ'><span id='TpLSJ'><b id='TpLSJ'><form id='TpLSJ'><ins id='TpLSJ'></ins><ul id='TpLSJ'></ul><sub id='TpLSJ'></sub></form><legend id='TpLSJ'></legend><bdo id='TpLSJ'><pre id='TpLSJ'><center id='TpLSJ'></center></pre></bdo></b><th id='TpLSJ'></th></span></q></dt></tr></i><div class="dfr3xhf" id='TpLSJ'><tfoot id='TpLSJ'></tfoot><dl id='TpLSJ'><fieldset id='TpLSJ'></fieldset></dl></div>

          <bdo id='TpLSJ'></bdo><ul id='TpLSJ'></ul>
      2. <legend id='TpLSJ'><style id='TpLSJ'><dir id='TpLSJ'><q id='TpLSJ'></q></dir></style></legend>

        為什么需要在bindParam()中指定參數類型?

        Why do we need to specify the parameter type in bindParam()?(為什么需要在bindParam()中指定參數類型?)
          <tbody id='WqO2x'></tbody>

          <small id='WqO2x'></small><noframes id='WqO2x'>

            <i id='WqO2x'><tr id='WqO2x'><dt id='WqO2x'><q id='WqO2x'><span id='WqO2x'><b id='WqO2x'><form id='WqO2x'><ins id='WqO2x'></ins><ul id='WqO2x'></ul><sub id='WqO2x'></sub></form><legend id='WqO2x'></legend><bdo id='WqO2x'><pre id='WqO2x'><center id='WqO2x'></center></pre></bdo></b><th id='WqO2x'></th></span></q></dt></tr></i><div class="pj7jjx7" id='WqO2x'><tfoot id='WqO2x'></tfoot><dl id='WqO2x'><fieldset id='WqO2x'></fieldset></dl></div>

            <legend id='WqO2x'><style id='WqO2x'><dir id='WqO2x'><q id='WqO2x'></q></dir></style></legend>
              <tfoot id='WqO2x'></tfoot>

                • <bdo id='WqO2x'></bdo><ul id='WqO2x'></ul>
                  本文介紹了為什么需要在bindParam()中指定參數類型?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  我有點困惑,為什么我們需要指定我們在 Php 中的 PDO 中的 bindParam() 函數中傳遞的數據類型.例如這個查詢:

                  I am a bit confuse as to why we need to specify the type of data that we pass in the bindParam() function in PDO in Php. For example this query:

                  $calories = 150; 
                  $colour = 'red';
                  $sth = $dbh->prepare('SELECT name, colour, calories
                  FROM fruit
                  WHERE calories < ? AND colour = ?');
                  $sth->bindParam(1, $calories, PDO::PARAM_INT); 
                  $sth->bindParam(2, $colour, PDO::PARAM_STR, 12);
                  $sth->execute();
                  

                  如果我不指定第三個參數,是否存在安全風險.我的意思是如果我只是在 bindParam() 中做:

                  Is there a security risk if I do not specify the 3rd parameter. I mean if I just do in the bindParam():

                  $sth->bindParam(1, $calories); 
                  $sth->bindParam(2, $colour);
                  

                  推薦答案

                  對類型使用 bindParam() 可以被認為更安全,因為它允許更嚴格的驗證,進一步防止 SQL 注入.但是,如果您不這樣做,我不會說會涉及真正 安全風險,因為更多的是您執行了prepared statement 比類型驗證更能防止 SQL 注入.實現此目的的更簡單方法是簡單地將數組傳遞給 execute() 函數,而不是使用 bindParam(),如下所示:

                  Using bindParam() with types could be considered safer, because it allows for stricter verification, further preventing SQL injections. However, I wouldn't say there is a real security risk involved if you don't do it like that, as it is more the fact that you do a prepared statement that protects from SQL injections than type verification. A simpler way to achieve this is by simply passing an array to the execute() function instead of using bindParam(), like this:

                  $calories = 150; 
                  $colour = 'red';
                  
                  $sth = $dbh->prepare('SELECT name, colour, calories
                                        FROM fruit
                                        WHERE calories < :calories AND colour = :colour');
                  
                  $sth->execute(array(
                      'calories' => $calories,
                      'colour' => $colour
                  ));
                  

                  您沒有義務使用字典,您也可以像使用問號一樣使用字典,然后將其按相同的順序放入數組中.然而,即使這很完美,我還是建議養成使用第一個的習慣,因為一旦達到一定數量的參數,這種方法就會變得一團糟.為了完整起見,這里是它的樣子:

                  You're not obligated to use a dictionary, you can also do it just like you did with questionmarks and then put it in the same order in the array. However, even if this works perfectly, I'd recommend making a habit of using the first one, since this method is a mess once you reach a certain number of parameters. For the sake of being complete, here's what it looks like:

                  $calories = 150; 
                  $colour = 'red';
                  
                  $sth = $dbh->prepare('SELECT name, colour, calories
                                        FROM fruit
                                        WHERE calories < ? AND colour = ?');
                  
                  $sth->execute(array($calories, $colour));
                  

                  這篇關于為什么需要在bindParam()中指定參數類型?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  Deadlock exception code for PHP, MySQL PDOException?(PHP、MySQL PDOException 的死鎖異常代碼?)
                  PHP PDO MySQL scrollable cursor doesn#39;t work(PHP PDO MySQL 可滾動游標不起作用)
                  PHP PDO ODBC connection(PHP PDO ODBC 連接)
                  Using PDO::FETCH_CLASS with Magic Methods(使用 PDO::FETCH_CLASS 和魔術方法)
                  php pdo get only one value from mysql; value that equals to variable(php pdo 只從 mysql 獲取一個值;等于變量的值)
                  MSSQL PDO could not find driver(MSSQL PDO 找不到驅動程序)
                    <tbody id='RmqxX'></tbody>

                      <legend id='RmqxX'><style id='RmqxX'><dir id='RmqxX'><q id='RmqxX'></q></dir></style></legend>

                        • <i id='RmqxX'><tr id='RmqxX'><dt id='RmqxX'><q id='RmqxX'><span id='RmqxX'><b id='RmqxX'><form id='RmqxX'><ins id='RmqxX'></ins><ul id='RmqxX'></ul><sub id='RmqxX'></sub></form><legend id='RmqxX'></legend><bdo id='RmqxX'><pre id='RmqxX'><center id='RmqxX'></center></pre></bdo></b><th id='RmqxX'></th></span></q></dt></tr></i><div class="zt77tfj" id='RmqxX'><tfoot id='RmqxX'></tfoot><dl id='RmqxX'><fieldset id='RmqxX'></fieldset></dl></div>

                          <small id='RmqxX'></small><noframes id='RmqxX'>

                          <tfoot id='RmqxX'></tfoot>

                            <bdo id='RmqxX'></bdo><ul id='RmqxX'></ul>
                            主站蜘蛛池模板: 蜘蛛车-高空作业平台-升降机-高空作业车租赁-臂式伸缩臂叉装车-登高车出租厂家 - 普雷斯特机械设备(北京)有限公司 | 原色会计-合肥注册公司_合肥代理记账公司_营业执照代办 | CCC验厂-家用电器|服务器CCC认证咨询-奥测世纪 | 北京包装设计_标志设计公司_包装设计公司-北京思逸品牌设计 | 聚氨酯催化剂K15,延迟催化剂SA-1,叔胺延迟催化剂,DBU,二甲基哌嗪,催化剂TMR-2,-聚氨酯催化剂生产厂家 | 拉力测试机|材料拉伸试验机|电子拉力机价格|万能试验机厂家|苏州皖仪实验仪器有限公司 | 合肥花魁情感婚姻咨询中心_挽回爱情_修复婚姻_恋爱指南 | 精密五金冲压件_深圳五金冲压厂_钣金加工厂_五金模具加工-诚瑞丰科技股份有限公司 | 新疆十佳旅行社_新疆旅游报价_新疆自驾跟团游-新疆中西部国际旅行社 | 安全,主动,被动,柔性,山体滑坡,sns,钢丝绳,边坡,防护网,护栏网,围栏,栏杆,栅栏,厂家 - 护栏网防护网生产厂家 | 丝杆升降机-不锈钢丝杆升降机-非标定制丝杆升降机厂家-山东鑫光减速机有限公司 | 新密高铝耐火砖,轻质保温砖价格,浇注料厂家直销-郑州荣盛窑炉耐火材料有限公司 | 高压微雾加湿器_工业加湿器_温室喷雾-昌润空气净化设备 | 领先的大模型技术与应用公司-中关村科金| 药品/药物稳定性试验考察箱-埃里森仪器设备(上海)有限公司 | 合肥风管加工厂-安徽螺旋/不锈钢风管-通风管道加工厂家-安徽风之范 | 开云(中国)Kaiyun·官方网站 - 登录入口 | CCC验厂-家用电器|服务器CCC认证咨询-奥测世纪 | 自动售货机_无人售货机_专业的自动售货机运营商_免费投放售货机-广州富宏主官网 | 一路商机网-品牌招商加盟优选平台-加盟店排行榜平台 | OpenI 启智 新一代人工智能开源开放平台| 布袋式除尘器|木工除尘器|螺旋输送机|斗式提升机|刮板输送机|除尘器配件-泊头市德佳环保设备 | 塑料熔指仪-塑料熔融指数仪-熔体流动速率试验机-广东宏拓仪器科技有限公司 | 铝合金重力铸造_铝合金翻砂铸造_铝铸件厂家-东莞市铝得旺五金制品有限公司 | 胜为光纤光缆_光纤跳线_单模尾纤_光纤收发器_ODF光纤配线架厂家直销_北京睿创胜为科技有限公司 - 北京睿创胜为科技有限公司 | 亮点云建站-网站建设制作平台| 合肥办公室装修 - 合肥工装公司 - 天思装饰 | 超声波清洗机_大型超声波清洗机_工业超声波清洗设备-洁盟清洗设备 | TMT观察网_独特视角观察TMT行业| 恒温恒湿箱(药品/保健品/食品/半导体/细菌)-兰贝石(北京)科技有限公司 | 防勒索软件_数据防泄密_Trellix(原McAfee)核心代理商_Trellix(原Fireeye)售后-广州文智信息科技有限公司 | 上海洗地机-洗地机厂家-全自动洗地机-手推式洗地机-上海滢皓洗地机 | 尚为传动-专业高精密蜗轮蜗杆,双导程蜗轮蜗杆,蜗轮蜗杆减速机,蜗杆减速机生产厂家 | 复合土工膜厂家|hdpe防渗土工膜|复合防渗土工布|玻璃纤维|双向塑料土工格栅-安徽路建新材料有限公司 | 球磨机,节能球磨机价格,水泥球磨机厂家,粉煤灰球磨机-吉宏机械制造有限公司 | 柔软云母板-硬质-水位计云母片组件-首页-武汉长丰云母绝缘材料有限公司 | 螺杆真空泵_耐腐蚀螺杆真空泵_水环真空泵_真空机组_烟台真空泵-烟台斯凯威真空 | 数显恒温油浴-电砂浴-高温油浴振荡器-常州迈科诺仪器有限公司 | 聚氨酯保温钢管_聚氨酯直埋保温管道_聚氨酯发泡保温管厂家-沧州万荣防腐保温管道有限公司 | 红酒招商加盟-葡萄酒加盟-进口红酒代理-青岛枞木酒业有限公司 | 焊接烟尘净化器__焊烟除尘设备_打磨工作台_喷漆废气治理设备 -催化燃烧设备 _天津路博蓝天环保科技有限公司 |