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

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

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

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

        PHP PDO - 綁定表名?

        PHP PDO - Bind table name?(PHP PDO - 綁定表名?)

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

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

                    <tbody id='SMsJf'></tbody>
                1. 本文介紹了PHP PDO - 綁定表名?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

                  問題描述

                  可以綁定表名嗎?

                  我想創(chuàng)建一個類來讀取表中的列,并根據(jù)字段類型為我生成表單輸入.當(dāng)我執(zhí)行 $form = new form("users"); 時,構(gòu)造函數(shù)應(yīng)該從使用以下代碼從表中獲取字段名稱開始:

                  I want to make a class to read the columns from a tables and, depending on field type, generate the form inputs for me. When I do $form = new form("users");, the constructor is supposed to start with getting the field names from the table with the following code:

                  class form{
                  
                      public function __construct($table, $skip = array("id")){
                          $pdo = new PDO('mysql:host=localhost;dbname=site;',USER,PASS);
                  
                          $query = $pdo->prepare("DESCRIBE :table");
                  
                          $query->bindValue(':table', $table, PDO::PARAM_STR, strlen($table));
                  
                          $query->execute();
                  
                          while($field = $query->fetch(PDO::FETCH_NUM)){
                              var_dump($field);
                              echo "<br /><br />";
                          }
                  
                          unset($pdo);
                      }
                  }
                  

                  當(dāng)我在準(zhǔn)備語句中指定users"而不是:table"時,這工作得很好,但是綁定它正在工作,我很確定這是因為它試圖綁定一個表名.此外,這需要綁定,因為我希望能夠通過 $_GET 等傳遞我的表名.

                  This works just fine when I specify "users" instead of ":table" in the prepare statement, but the bind it's working, and I'm pretty sure it's because it's trying to bind a table name. Also, this needs to be binded because I'd like to have the ability to pass my table names through $_GET and the such.

                  推薦答案

                  可以綁定表名嗎?

                  Is it possible to bind a table name?

                  沒有

                  您必須將表名列入白名單.我懷疑您是否想讓用戶從您的數(shù)據(jù)庫中瀏覽任何 表.

                  You have to whitelist table names. I doubt you want to let a user to browse any table from your database.

                  而且您還必須手動格式化標(biāo)識符.有一個帶有示例的 tag wiki.為什么不先讀呢?

                  And you have to format identifiers manually as well. There is a tag wiki with example. Why not read it first?

                  更新:如您所見,PDO 對于現(xiàn)實生活中的任務(wù)來說并不方便.所以,你必須有一個更智能的抽象庫來處理 MySQL 查詢.下面是一個使用 safeMysql 類的示例,它可以顯著縮短您的代碼:

                  Update: As you can see, PDO turns out to be inconvenient for real life tasks. So, you have to have a more intelligent abstraction library to handle MySQL queries. Here is an example using the safeMysql class, which will make your code dramatically shorter:

                  class form{
                      public function __construct($table){
                          global $db;
                          return $db->getAll("DESCRIBE ?n", $table);
                      }
                  }
                  

                  2 條注釋:

                  • 我刪除了第二個參數(shù),因為您的函數(shù)中沒有使用它的代碼.
                  • 永遠(yuǎn)不要在課堂上聯(lián)系.請改用已打開的連接.或者你會用這么多連接殺死你的 MySQL 服務(wù)器.

                  排除已實現(xiàn)的版本

                  class form {
                      public function __construct($table,$skip = array("id")){
                          global $db;
                          $data = array();
                          $res = $db->query("DESCRIBE ?n", $table);
                          while($row = $db->fetch($res)) {
                              if (!in_array($row['Field'],$skip)) {
                                  $data[] = $row;
                              }
                          }
                          return $data;
                      }
                  }
                  

                  然而,這樣的類很少可以按預(yù)期使用 - 總是有很多例外和手動格式化才能使其可用.

                  However, such class seldom can be used as intended - there are always a lot of exceptions and manual formatting to make it usable.

                  這篇關(guān)于PHP PDO - 綁定表名?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持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準(zhǔn)備好的語句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的訪問被拒絕)
                    <i id='mZKGx'><tr id='mZKGx'><dt id='mZKGx'><q id='mZKGx'><span id='mZKGx'><b id='mZKGx'><form id='mZKGx'><ins id='mZKGx'></ins><ul id='mZKGx'></ul><sub id='mZKGx'></sub></form><legend id='mZKGx'></legend><bdo id='mZKGx'><pre id='mZKGx'><center id='mZKGx'></center></pre></bdo></b><th id='mZKGx'></th></span></q></dt></tr></i><div class="3ju00ue" id='mZKGx'><tfoot id='mZKGx'></tfoot><dl id='mZKGx'><fieldset id='mZKGx'></fieldset></dl></div>

                    <tfoot id='mZKGx'></tfoot>
                      <tbody id='mZKGx'></tbody>
                      <legend id='mZKGx'><style id='mZKGx'><dir id='mZKGx'><q id='mZKGx'></q></dir></style></legend>
                      • <bdo id='mZKGx'></bdo><ul id='mZKGx'></ul>

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

                            主站蜘蛛池模板: 卫生型双针压力表-高温防腐差压表-安徽康泰电气有限公司 | 广州迈驰新GMP兽药包装机首页_药品包装机_中药散剂包装机 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 硅胶管挤出机厂家_硅胶挤出机生产线_硅胶条挤出机_臣泽智能装备 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 拉力机-拉力试验机-万能试验机-电子拉力机-拉伸试验机-剥离强度试验机-苏州皖仪实验仪器有限公司 | 垃圾处理设备_餐厨垃圾处理设备_厨余垃圾处理设备_果蔬垃圾处理设备-深圳市三盛环保科技有限公司 | 天津中都白癜风医院_天津白癜风医院_天津治疗白癜风 | 沈阳网站建设_沈阳网站制作_沈阳网页设计-做网站就找示剑新零售 沈阳缠绕膜价格_沈阳拉伸膜厂家_沈阳缠绕膜厂家直销 | PCB接线端子_栅板式端子_线路板连接器_端子排生产厂家-置恒电气 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | 上海办公室设计_办公楼,写字楼装修_办公室装修公司-匠御设计 | 破碎机锤头_合金耐磨锤头_郑州宇耐机械工程技术有限公司 | 艺术涂料|木纹漆施工|稻草漆厂家|马来漆|石桦奴|水泥漆|选加河南天工涂料 | 济南玻璃安装_济南玻璃门_济南感应门_济南玻璃隔断_济南玻璃门维修_济南镜片安装_济南肯德基门_济南高隔间-济南凯轩鹏宇玻璃有限公司 | 天津试验仪器-电液伺服万能材料试验机,恒温恒湿标准养护箱,水泥恒应力压力试验机-天津鑫高伟业科技有限公司 | 洗地机-全自动/手推式洗地机-扫地车厂家_扬子清洁设备 | 污泥烘干机-低温干化机-工业污泥烘干设备厂家-焦作市真节能环保设备科技有限公司 | 液压油缸生产厂家-山东液压站-济南捷兴液压机电设备有限公司 | 河南橡胶接头厂家,河南波纹补偿器厂家,河南可曲挠橡胶软连接,河南套筒补偿器厂家-河南正大阀门 | 辐射色度计-字符亮度测试-反射式膜厚仪-苏州瑞格谱光电科技有限公司 | 冷藏车厂家|冷藏车价格|小型冷藏车|散装饲料车厂家|程力专用汽车股份有限公司销售十二分公司 | 杜康白酒加盟_杜康酒代理_杜康酒招商加盟官网_杜康酒厂加盟总代理—杜康酒神全国运营中心 | 新型游乐设备,360大摆锤游乐设备「诚信厂家」-山东方鑫游乐设备 新能源汽车电池软连接,铜铝复合膜柔性连接,电力母排-容发智能科技(无锡)有限公司 | 卫浴散热器,卫浴暖气片,卫生间背篓暖气片,华圣格浴室暖气片 | 钢制拖链生产厂家-全封闭钢制拖链-能源钢铝拖链-工程塑料拖链-河北汉洋机械制造有限公司 | 执业药师报名条件,考试时间,考试真题,报名入口—首页 | 高清视频编码器,4K音视频编解码器,直播编码器,流媒体服务器,深圳海威视讯技术有限公司 | 测试治具|过炉治具|过锡炉治具|工装夹具|测试夹具|允睿自动化设备 | 钢格栅板_钢格板网_格栅板-做专业的热镀锌钢格栅板厂家-安平县迎瑞丝网制造有限公司 | 上海律师事务所_上海刑事律师免费咨询平台-煊宏律师事务所 | 微信聊天记录恢复_手机短信删除怎么恢复_通讯录恢复软件下载-快易数据恢复 | 针焰试验仪,灼热丝试验仪,漏电起痕试验仪,水平垂直燃烧试验仪 - 苏州亚诺天下仪器有限公司 | 20年条刷老厂-条刷-抛光-工业毛刷辊-惠众毛刷 | 即用型透析袋,透析袋夹子,药敏纸片,L型涂布棒-上海桥星贸易有限公司 | 煤粉取样器-射油器-便携式等速飞灰取样器-连灵动 | 膏剂灌装旋盖机-眼药水灌装生产线-西林瓶粉剂分装机-南通博琅机械科技 | 知网论文检测系统入口_论文查重免费查重_中国知网论文查询_学术不端检测系统 | 异噻唑啉酮-均三嗪-三丹油-1227-中北杀菌剂厂家 | SMC-ASCO-CKD气缸-FESTO-MAC电磁阀-上海天筹自动化设备官网 | 传递窗_超净|洁净工作台_高效过滤器-传递窗厂家广州梓净公司 | 双齿辊破碎机-大型狼牙破碎机视频-对辊破碎机价格/型号图片-金联机械设备生产厂家 | 锂电叉车,电动叉车_厂家-山东博峻智能科技有限公司 |