• <small id='swIyu'></small><noframes id='swIyu'>

    • <bdo id='swIyu'></bdo><ul id='swIyu'></ul>
      <i id='swIyu'><tr id='swIyu'><dt id='swIyu'><q id='swIyu'><span id='swIyu'><b id='swIyu'><form id='swIyu'><ins id='swIyu'></ins><ul id='swIyu'></ul><sub id='swIyu'></sub></form><legend id='swIyu'></legend><bdo id='swIyu'><pre id='swIyu'><center id='swIyu'></center></pre></bdo></b><th id='swIyu'></th></span></q></dt></tr></i><div id='swIyu'><tfoot id='swIyu'></tfoot><dl id='swIyu'><fieldset id='swIyu'></fieldset></dl></div>
        <legend id='swIyu'><style id='swIyu'><dir id='swIyu'><q id='swIyu'></q></dir></style></legend>
        <tfoot id='swIyu'></tfoot>

        检查空结果(PHP、PDO 和 MySQL)

        时间:2023-09-19
            <legend id='mw2th'><style id='mw2th'><dir id='mw2th'><q id='mw2th'></q></dir></style></legend>
          • <i id='mw2th'><tr id='mw2th'><dt id='mw2th'><q id='mw2th'><span id='mw2th'><b id='mw2th'><form id='mw2th'><ins id='mw2th'></ins><ul id='mw2th'></ul><sub id='mw2th'></sub></form><legend id='mw2th'></legend><bdo id='mw2th'><pre id='mw2th'><center id='mw2th'></center></pre></bdo></b><th id='mw2th'></th></span></q></dt></tr></i><div id='mw2th'><tfoot id='mw2th'></tfoot><dl id='mw2th'><fieldset id='mw2th'></fieldset></dl></div>
              <tbody id='mw2th'></tbody>

          • <tfoot id='mw2th'></tfoot>

              <bdo id='mw2th'></bdo><ul id='mw2th'></ul>

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

                  本文介绍了检查空结果(PHP、PDO 和 MySQL)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  我在这里做错了什么?我只是从表中检索结果,然后将它们添加到数组中.一切都按预期工作,直到我检查结果为空...

                  What am I doing wrong here? I'm simply retrieving results from a table and then adding them to an array. Everything works as expected until I check for an empty result...

                  这会得到匹配项,将其添加到我的数组中并按预期回显结果:

                  This gets the match, adds it to my array and echoes the result as expected:

                  $today = date('Y-m-d', strtotime('now'));
                  
                  $sth = $db->prepare("SELECT id_email FROM db WHERE hardcopy = '1' AND hardcopy_date <= :today AND hardcopy_sent = '0' ORDER BY id_email ASC");
                  
                  $sth->bindParam(':today', $today, PDO::PARAM_STR);
                  
                  if(!$sth->execute()) {
                      $db = null;
                      exit();
                  }
                  
                  while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
                      $this->id_email[] = $row['id_email'];
                      echo $row['id_email'];
                  }
                  
                  $db = null;
                  return true;
                  

                  当我尝试检查空结果时,我的代码返回空",但不再产生匹配的结果:

                  When I try to check for an empty result, my code returns 'empty', but no longer yields the matching result:

                  $today = date('Y-m-d', strtotime('now'));
                  
                  $sth = $db->prepare("SELECT id_email FROM db WHERE hardcopy = '1' AND hardcopy_date <= :today AND hardcopy_sent = '0' ORDER BY id_email ASC");
                  
                  $sth->bindParam(':today',$today, PDO::PARAM_STR);
                  
                  if(!$sth->execute()) {
                      $db = null;
                      exit();
                  }
                  
                  if ($sth->fetchColumn()) {
                      echo 'not empty';
                      while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
                          $this->id_email[] = $row['id_email'];
                          echo $row['id_email'];
                      }
                      $db = null;
                      return true;
                  }
                  echo 'empty';
                  $db = null;
                  return false;
                  

                  推荐答案

                  当您执行 $sth->fetchColumn() 时,您将丢弃结果行.这不是您检查是否有任何结果的方式.你做

                  You're throwing away a result row when you do $sth->fetchColumn(). That's not how you check if there are any results. You do

                  if ($sth->rowCount() > 0) {
                    ... got results ...
                  } else {
                     echo 'nothing';
                  }
                  

                  相关文档在这里:PDOStatement::rowCount

                  Relevant documentation is here: PDOStatement::rowCount

                  这篇关于检查空结果(PHP、PDO 和 MySQL)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:在 PHP PDO 中获取上次执行的查询 下一篇:php artisan migrate 抛出 [PDO Exception] 找不到驱动程序

                  相关文章

                  最新文章

                    <bdo id='IppbS'></bdo><ul id='IppbS'></ul>
                • <legend id='IppbS'><style id='IppbS'><dir id='IppbS'><q id='IppbS'></q></dir></style></legend>

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

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

                    1. <tfoot id='IppbS'></tfoot>