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

    • <bdo id='0QtOb'></bdo><ul id='0QtOb'></ul>

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

      <small id='0QtOb'></small><noframes id='0QtOb'>

        <legend id='0QtOb'><style id='0QtOb'><dir id='0QtOb'><q id='0QtOb'></q></dir></style></legend>

        如何使用 PDO 動態(tài)構(gòu)建查詢

        How to dynamically build queries with PDO(如何使用 PDO 動態(tài)構(gòu)建查詢)
          <tbody id='tcEaz'></tbody>
        <legend id='tcEaz'><style id='tcEaz'><dir id='tcEaz'><q id='tcEaz'></q></dir></style></legend>

            <tfoot id='tcEaz'></tfoot>
              <bdo id='tcEaz'></bdo><ul id='tcEaz'></ul>

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

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

                  本文介紹了如何使用 PDO 動態(tài)構(gòu)建查詢的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

                  問題描述

                  我正在使用 PDO 并且想做這樣的事情:

                  $query = $dbh->prepare("SELECT * FROM :table WHERE :column = :value");$query->bindParam(':table', $tableName);$query->bindParam(':column', $columnName);$query->bindParam(':value', $value);

                  PDO 會允許我像這樣綁定表名和列名嗎?似乎允許它,但即使我使用 PDO::PARAM_INT 或 PDO::PARAM_BOOL 作為數(shù)據(jù)類型,它也會在我的參數(shù)周圍加上引號.

                  如果這不起作用,我怎樣才能安全地轉(zhuǎn)義我的變量以便我可以在查詢中插入它們?

                  解決方案

                  很遺憾,您無法通過列名綁定參數(shù).

                  您可以嘗試動態(tài)創(chuàng)建 SQL 命令:

                  $sql = "SELECT * FROM $tableName WHERE $columnName = :value";$query = $dbh->prepare($sql);$query->bindParam(':value', $value);

                  只要確保對來自其他地方的參數(shù)/變量進行清理,以防止 SQL 注入.在這種情況下,$value一定程度上是安全的,但 $tableName$columnName 不是 -- 再次,尤其是如果這些變量的值不是由 you 提供,而是由您的用戶/訪問者/等提供...

                  另外一件事;請避免使用 * 并命名您的列... 查看原因:

                  http://www.jasonvolpe.com/topics/sql/>

                  使用 SELECT * 時的性能問題?

                  在此處查看其他類似帖子:

                  為什么 ORDER BY 子句中的綁定參數(shù)不對結(jié)果進行排序?

                  如何設(shè)置 ORDER BY 參數(shù)使用準備好的 PDO 語句?

                  I am using PDO and want to do something like this:

                  $query = $dbh->prepare("SELECT * FROM :table WHERE :column = :value");
                  $query->bindParam(':table', $tableName);
                  $query->bindParam(':column', $columnName);
                  $query->bindParam(':value', $value);
                  

                  Will PDO allow me to bind the table name and the column name like this? It seems to allow it, but it puts quotes around my parameters even if I use PDO::PARAM_INT or PDO::PARAM_BOOL as the data type.

                  If this won't work, how can I safely escape my variables so that I can interpolate them in the query?

                  解決方案

                  Unfortunately, you can't bind parameters by column names.

                  What you could try is to dynamically create your SQL command:

                  $sql = "SELECT * FROM $tableName WHERE $columnName = :value";
                  $query = $dbh->prepare($sql);
                  $query->bindParam(':value', $value);
                  

                  Just make sure to sanitize your parameters/variables if they are coming from elsewhere, to prevent SQL Injection. In this case, $value is safe to a degree but $tableName and $columnName are not -- again, that is most especially if the values for these variables are not provided by you and instead by your users/vistors/etc...

                  One other thing; please avoid using * and name your columns instead... See some reasons why:

                  http://www.jasonvolpe.com/topics/sql/

                  Performance issue in using SELECT *?

                  See other similar posts here:

                  Why doesn't binding parameter in ORDER BY clause order the results?

                  How do I set ORDER BY params using prepared PDO statement?

                  這篇關(guān)于如何使用 PDO 動態(tài)構(gòu)建查詢的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

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

                  相關(guān)文檔推薦

                  MySQLi prepared statement amp; foreach loop(MySQLi準備好的語句amp;foreach 循環(huán))
                  Is mysqli_insert_id() gets record from whole server or from same user?(mysqli_insert_id() 是從整個服務(wù)器還是從同一用戶獲取記錄?)
                  PHP MySQLi doesn#39;t recognize login info(PHP MySQLi 無法識別登錄信息)
                  mysqli_select_db() expects exactly 2 parameters(mysqli_select_db() 需要 2 個參數(shù))
                  Php mysql pdo query: fill up variable with query result(Php mysql pdo 查詢:用查詢結(jié)果填充變量)
                  MySQLI 28000/1045 Access denied for user #39;root#39;@#39;localhost#39;(MySQLI 28000/1045 用戶“root@“l(fā)ocalhost的訪問被拒絕)
                  <legend id='uLphR'><style id='uLphR'><dir id='uLphR'><q id='uLphR'></q></dir></style></legend>
                  • <small id='uLphR'></small><noframes id='uLphR'>

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

                        <tfoot id='uLphR'></tfoot>
                          <tbody id='uLphR'></tbody>

                            主站蜘蛛池模板: 丙烷/液氧/液氮气化器,丙烷/液氧/液氮汽化器-无锡舍勒能源科技有限公司 | 合肥白癜风医院_合肥治疗白癜风医院_合肥看白癜风医院哪家好_合肥华研白癜风医院 | 齿轮减速马达一体式_蜗轮蜗杆减速机配电机-德国BOSERL齿轮减速电动机生产厂家 | 国际金融网_每日财经新资讯网 | 隐形纱窗|防护纱窗|金刚网防盗纱窗|韦柏纱窗|上海青木装潢制品有限公司|纱窗国标起草单位 | 中开泵,中开泵厂家,双吸中开泵-山东博二泵业有限公司 | 工业电炉,台车式电炉_厂家-淄博申华工业电炉有限公司 | 超声骨密度仪-动脉硬化检测仪器-人体成分分析仪厂家/品牌/价格_南京科力悦 | 睿婕轻钢别墅_钢结构别墅_厂家设计施工报价 | 中宏网-今日新闻-财经新闻| 昆明化妆培训-纹绣美甲-美容美牙培训-昆明博澜培训学校 | 螺钉式热电偶_便携式温度传感器_压簧式热电偶|无锡联泰仪表有限公司|首页 | 酒精检测棒,数显温湿度计,酒安酒精测试仪,酒精检测仪,呼气式酒精检测仪-郑州欧诺仪器有限公司 | NBA直播_NBA直播免费观看直播在线_NBA直播免费高清无插件在线观看-24直播网 | 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | STRO|DTRO-STRO反渗透膜(科普)_碟滤| 百度爱采购运营研究社社群-店铺托管-爱采购代运营-良言多米网络公司 | 柔软云母板-硬质-水位计云母片组件-首页-武汉长丰云母绝缘材料有限公司 | 氧化铝球_高铝球_氧化铝研磨球-淄博誉洁陶瓷新材料有限公司 | 天津散热器_天津暖气片_天津安尼威尔散热器制造有限公司 | 缝纫客 | 北京四合院出租,北京四合院出售,北京平房买卖 - 顺益兴四合院 | 刺绳_刀片刺网_刺丝滚笼_不锈钢刺绳生产厂家_安平县浩荣金属丝网制品有限公司-安平县浩荣金属丝网制品有限公司 | 多功能真空滤油机_润滑油全自动滤油机_高效真空滤油机价格-重庆润华通驰 | 珠海网站建设_响应网站建设_珠海建站公司_珠海网站设计与制作_珠海网讯互联 | 冷水机-工业冷水机-冷水机组-欧科隆品牌保障 | 塑钢件_塑钢门窗配件_塑钢配件厂家-文安县启泰金属制品有限公司 深圳南财多媒体有限公司介绍 | 防水套管_柔性防水套管_刚性防水套管-巩义市润达管道设备制造有限公司 | AGV无人叉车_激光叉车AGV_仓储AGV小车_AGV无人搬运车-南昌IKV机器人有限公司[官网] | 威廉希尔WilliamHill·足球(中国)体育官方网站 | 江西自考网 | 安徽成考网-安徽成人高考网| 冰晶石|碱性嫩黄闪蒸干燥机-有机垃圾烘干设备-草酸钙盘式干燥机-常州市宝康干燥 | PAS糖原染色-CBA流式多因子-明胶酶谱MMP-上海研谨生物科技有限公司 | 上海佳武自动化科技有限公司 | 市政路灯_厂家-淄博信达电力科技有限公司 | 深圳展厅设计_企业展馆设计_展厅设计公司_数字展厅设计_深圳百艺堂 | 钢制暖气片散热器_天津钢制暖气片_卡麦罗散热器厂家 | 自恢复保险丝_贴片保险丝_力特保险丝_Littelfuse_可恢复保险丝供应商-秦晋电子 | 变色龙PPT-国内原创PPT模板交易平台 - PPT贰零 - 西安聚讯网络科技有限公司 | 旗杆生产厂家_不锈钢锥形旗杆价格_铝合金电动旗杆-上海锥升金属科技有限公司 |