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

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

      1. <small id='D8Kdj'></small><noframes id='D8Kdj'>

        帶有 foreach 和 fetch 的 PHP PDO

        PHP PDO with foreach and fetch(帶有 foreach 和 fetch 的 PHP PDO)
        <i id='j8OtE'><tr id='j8OtE'><dt id='j8OtE'><q id='j8OtE'><span id='j8OtE'><b id='j8OtE'><form id='j8OtE'><ins id='j8OtE'></ins><ul id='j8OtE'></ul><sub id='j8OtE'></sub></form><legend id='j8OtE'></legend><bdo id='j8OtE'><pre id='j8OtE'><center id='j8OtE'></center></pre></bdo></b><th id='j8OtE'></th></span></q></dt></tr></i><div class="nnqxdf5" id='j8OtE'><tfoot id='j8OtE'></tfoot><dl id='j8OtE'><fieldset id='j8OtE'></fieldset></dl></div>
        <tfoot id='j8OtE'></tfoot>

          <tbody id='j8OtE'></tbody>

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

            1. <legend id='j8OtE'><style id='j8OtE'><dir id='j8OtE'><q id='j8OtE'></q></dir></style></legend>
              • <bdo id='j8OtE'></bdo><ul id='j8OtE'></ul>
                • 本文介紹了帶有 foreach 和 fetch 的 PHP PDO的處理方法,對大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

                  問題描述

                  以下代碼:

                  <?php
                  try {
                      $dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);
                      echo "Connection is successful!<br/>";
                      $sql = "SELECT * FROM users";
                      $users = $dbh->query($sql);
                      foreach ($users as $row) {
                          print $row["name"] . "-" . $row["sex"] ."<br/>";
                      }
                      foreach ($users as $row) {
                          print $row["name"] . "-" . $row["sex"] ."<br/>";
                      }
                      $dbh = null;
                  }
                  catch (PDOexception $e) {
                      echo "Error is: " . $e-> etmessage();
                  }
                  

                  輸出:

                  Connection is successful!
                  
                  person A-male
                  person B-female
                  

                  運(yùn)行foreach"兩次不是我的目的,我只是好奇為什么兩個(gè)foreach"語句只輸出一次結(jié)果?

                  Running "foreach" twice is not my purpose, I'm just curious why TWO "foreach" statements only output the result once?

                  以下是類似的情況:

                  <?php
                  try {
                      $dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);
                      echo "Connection is successful!<br/>";
                      $sql = "SELECT * FROM users";
                      $users = $dbh->query($sql);
                      foreach ($users as $row) {
                          print $row["name"] . "-" . $row["sex"] ."<br/>";
                      }
                      echo "<br/>";
                      $result = $users->fetch(PDO::FETCH_ASSOC);
                      foreach($result as $key => $value) {
                          echo $key . "-" . $value . "<br/>";
                      }
                      $dbh = null;
                  }
                  catch (PDOexception $e) {
                      echo "Error is: " . $e-> etmessage();
                  }
                  

                  輸出:

                  Connection is successful!
                  
                  person A-male
                  person B-female
                  
                  SCREAM: Error suppression ignored for
                  Warning: Invalid argument supplied for foreach()
                  

                  但是當(dāng)我從上面的代碼中刪除第一個(gè)foreach"時(shí),輸出會(huì)變得正常:

                  But when I delete the first "foreach" from the above codes, the output will become normal:

                  <?php
                  try {
                      $dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);
                      echo "Connection is successful!<br/>";
                      $sql = "SELECT * FROM users";
                      $users = $dbh->query($sql);
                  
                      echo "<br/>";
                      $result = $users->fetch(PDO::FETCH_ASSOC);
                      foreach($result as $key => $value) {
                          echo $key . "-" . $value . "<br/>";
                      }
                      $dbh = null;
                  }
                  catch (PDOexception $e) {
                      echo "Error is: " . $e-> etmessage();
                  }
                  

                  輸出:

                  Connection is successful!
                  
                  user_id-0000000001
                  name-person A
                  sex-male
                  

                  為什么會(huì)發(fā)生這種情況?

                  Why does this happen?

                  推薦答案

                  A PDOStatement(您在 $users 中有)是一個(gè)前向光標(biāo).這意味著,一旦使用(第一次 foreach 迭代),它就不會(huì)倒回到結(jié)果集的開頭.

                  A PDOStatement (which you have in $users) is a forward-cursor. That means, once consumed (the first foreach iteration), it won't rewind to the beginning of the resultset.

                  可以在foreach之后關(guān)閉游標(biāo),再次執(zhí)行語句:

                  You can close the cursor after the foreach and execute the statement again:

                  $users       = $dbh->query($sql);
                  foreach ($users as $row) {
                      print $row["name"] . " - " . $row["sex"] . "<br/>";
                  }
                  
                  $users->execute();
                  
                  foreach ($users as $row) {
                      print $row["name"] . " - " . $row["sex"] . "<br/>";
                  }
                  

                  或者你可以使用定制的 CachingIterator 和完整緩存來緩存:

                  Or you could cache using tailored CachingIterator with a fullcache:

                  $users       = $dbh->query($sql);
                  
                  $usersCached = new CachedPDOStatement($users);
                  
                  foreach ($usersCached as $row) {
                      print $row["name"] . " - " . $row["sex"] . "<br/>";
                  }
                  foreach ($usersCached as $row) {
                      print $row["name"] . " - " . $row["sex"] . "<br/>";
                  }
                  

                  您找到CachedPDOStatement 類作為要點(diǎn).緩存迭代器可能比將結(jié)果集存儲(chǔ)到數(shù)組中更合理,因?yàn)樗匀惶峁┧b的 PDOStatement 對象的所有屬性和方法.

                  You find the CachedPDOStatement class as a gist. The caching iterator is probably more sane than storing the result set into an array because it still offers all properties and methods of the PDOStatement object it has wrapped.

                  這篇關(guān)于帶有 foreach 和 fetch 的 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() 是從整個(gè)服務(wù)器還是從同一用戶獲取記錄?)
                  PHP MySQLi doesn#39;t recognize login info(PHP MySQLi 無法識(shí)別登錄信息)
                  mysqli_select_db() expects exactly 2 parameters(mysqli_select_db() 需要 2 個(gè)參數(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的訪問被拒絕)

                • <tfoot id='58lPI'></tfoot>

                        <legend id='58lPI'><style id='58lPI'><dir id='58lPI'><q id='58lPI'></q></dir></style></legend>
                        <i id='58lPI'><tr id='58lPI'><dt id='58lPI'><q id='58lPI'><span id='58lPI'><b id='58lPI'><form id='58lPI'><ins id='58lPI'></ins><ul id='58lPI'></ul><sub id='58lPI'></sub></form><legend id='58lPI'></legend><bdo id='58lPI'><pre id='58lPI'><center id='58lPI'></center></pre></bdo></b><th id='58lPI'></th></span></q></dt></tr></i><div class="x0utwcb" id='58lPI'><tfoot id='58lPI'></tfoot><dl id='58lPI'><fieldset id='58lPI'></fieldset></dl></div>

                        <small id='58lPI'></small><noframes id='58lPI'>

                        • <bdo id='58lPI'></bdo><ul id='58lPI'></ul>

                              <tbody id='58lPI'></tbody>
                            主站蜘蛛池模板: 东风体检车厂家_公共卫生体检车_医院体检车_移动体检车-锦沅科贸 | 北京网站建设公司_北京网站制作公司_北京网站设计公司-北京爱品特网站建站公司 | 西点培训学校_法式西点培训班_西点师培训_西点蛋糕培训-广州烘趣西点烘焙培训学院 | 网站建设-高端品牌网站设计制作一站式定制_杭州APP/微信小程序开发运营-鼎易科技 | 上海公众号开发-公众号代运营公司-做公众号的公司企业服务商-咏熠软件 | 全温恒温摇床-水浴气浴恒温摇床-光照恒温培养摇床-常州金坛精达仪器制造有限公司 | 河南mpp电力管_mpp电力管生产厂家_mpp电力电缆保护管价格 - 河南晨翀实业 | 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 济南玻璃安装_济南玻璃门_济南感应门_济南玻璃隔断_济南玻璃门维修_济南镜片安装_济南肯德基门_济南高隔间-济南凯轩鹏宇玻璃有限公司 | CNC机加工-数控加工-精密零件加工-ISO认证厂家-鑫创盟 | 西安展台设计搭建_西安活动策划公司_西安会议会场布置_西安展厅设计西安旭阳展览展示 | 双吸泵,双吸泵厂家,OS双吸泵-山东博二泵业有限公司 | 工业车间焊接-整体|集中除尘设备-激光|等离子切割机配套除尘-粉尘烟尘净化治理厂家-山东美蓝环保科技有限公司 | 雾度仪_雾度计_透光率雾度仪价格-三恩时(3nh)光电雾度仪厂家 | 实验室pH计|电导率仪|溶解氧测定仪|离子浓度计|多参数水质分析仪|pH电极-上海般特仪器有限公司 | 山楂片_雪花_迷你山楂片_山楂条饼厂家-青州市丰源食品厂 | PE拉伸缠绕膜,拉伸缠绕膜厂家,纳米缠绕膜-山东凯祥包装 | 压装机-卧式轴承轮轴数控伺服压装机厂家[铭泽机械] | 智能家居全屋智能系统多少钱一套-小米全套价格、装修方案 | 驾驶式洗地机/扫地机_全自动洗地机_工业洗地机_荣事达工厂官网 | 欧洲MV日韩MV国产_人妻无码一区二区三区免费_少妇被 到高潮喷出白浆av_精品少妇自慰到喷水AV网站 | STRO|DTRO-STRO反渗透膜(科普)_碟滤 | 超声波反应釜【百科】-以马内利仪器| 北京发电机出租_发电机租赁_北京发电机维修 - 河北腾伦发电机出租 | 中式装修设计_全屋定制家具_实木仿古门窗花格厂家-喜迎门 | 土壤有机碳消解器-石油|表层油类分析采水器-青岛溯源环保设备有限公司 | 抓斗式清污机|螺杆式|卷扬式启闭机|底轴驱动钢坝|污水处理闸门-方源水利机械 | 不锈钢法兰-碳钢法兰-法兰盘生产加工厂家-[鼎捷峰]-不锈钢法兰-碳钢法兰-法兰盘生产加工厂家-[鼎捷峰] | 闪蒸干燥机-喷雾干燥机-带式干燥机-桨叶干燥机-[常州佳一干燥设备] | 高博医疗集团上海阿特蒙医院 | 东莞办公家具厂家直销-美鑫【免费3D效果图】全国办公桌/会议桌定制 | 上海刑事律师|刑事辩护律师|专业刑事犯罪辩护律师免费咨询-[尤辰荣]金牌上海刑事律师团队 | 旋片真空泵_真空泵_水环真空泵_真空机组-深圳恒才机电设备有限公司 | 平面钻,法兰钻,三维钻-山东兴田阳光智能装备股份有限公司 | 砍排机-锯骨机-冻肉切丁机-熟肉切片机-预制菜生产线一站式服务厂商 - 广州市祥九瑞盈机械设备有限公司 | 亮点云建站-网站建设制作平台 | 污水提升器,污水提升泵,污水提升装置-德国泽德(zehnder)水泵系统有限公司 | 噪声治理公司-噪音治理专业隔音降噪公司 | 中矗模型-深圳中矗模型设计有限公司 | 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | PCB设计,PCB抄板,电路板打样,PCBA加工-深圳市宏力捷电子有限公司 |