Php 已解决-pdo mssql fetchColumn()

Php 已解决-pdo mssql fetchColumn(),php,sql-server,pdo,Php,Sql Server,Pdo,我需要数一数我被选中了多少列。 现在我用reapeatI++,但我需要使用站点上选定行的编号,但我不能 我试图使用fetchAll,但没有得到肯定的结果 ($table\u fields=$result->fetchAll(PDO::FETCH\u COLUMN);print\r($table\u fields);) 谁能帮帮我吗 我正在使用IIS和MSSQL 2012 $query2 = "SELECT SURNAME_USER, FIRST_NAME_USER

我需要数一数我被选中了多少列。 现在我用reapeat
I++
,但我需要使用站点上选定行的编号,但我不能

我试图使用
fetchAll
,但没有得到肯定的结果
($table\u fields=$result->fetchAll(PDO::FETCH\u COLUMN);print\r($table\u fields);)
谁能帮帮我吗

我正在使用IIS和MSSQL 2012

    $query2 = "SELECT
      SURNAME_USER,
      FIRST_NAME_USER,
      CR_FACTORY,
      CR_LICENC,
      EVENT_NAME,
      EVENT_DATE_FROM,
      EVENT_DATE_TO
    FROM dbo.EVENT_CALENDAR_EVENT
    join EVENT_CALENDAR_CAR on OBJECT_CAL_ID = CAL_OBJECT_ID
    join AA_USER on ID_USER=EVENT_USER_ID
    where (SURNAME_USER+' '+FIRST_NAME_USER) like ? and EVENT_DATE_FROM >= ? and EVENT_DATE_TO <= ? order by EVENT_DATE_FROM desc";
      $result = $conn->prepare($query2);
      $result->bindValue(1, $user_name, PDO::PARAM_STR);
      $result->bindValue(2, $datum_od, PDO::FETCH_NUM);
      $result->bindValue(3, $datum_do, PDO::FETCH_NUM);

      $result->execute();
      $count=1;

?>
<div class="col-md-3 mb-3">
<p>Filtr</p> 
<input id="myInput" type="text" class="form-control" placeholder="Hledej...">
<br>
</div>
<div>
  <table class="table table-hover">
      <t>
          <th scope="col">Počet cest</th>
          <!--<th scope="col">Jméno</th>
          <th scope="col">Přijmení</th>-->
          <th scope="col">Udalost</th>
          <th scope="col">Automobil</th>
          <th scope="col">Datum od</th>
          <th scope="col">Datum do</th>
      </t><tbody id="myTable">
  <?php foreach($result as $rows) {
          ?>
          <tr>
              <td scope="row"><?php echo $count;?></td>
          <!--    <td><?php echo $rows["FIRST_NAME_USER"];?></td>
              <td><?php echo $rows["SURNAME_USER"];?></td> -->
              <td><?php echo $rows["EVENT_NAME"];?></td>
              <td><?php echo $rows["CR_FACTORY"]." ".$rows["CR_LICENC_PLATE"];?></td>
              <td><?php echo date('d-m-Y', strtotime($rows["EVENT_DATE_FROM"]));?></td>
              <td><?php echo date('d-m-Y', strtotime($rows["EVENT_DATE_TO"]));?></td>
          </tr>

<?php
$count++;
  }?></tbody></table>
```
$query2=“选择
姓吴的用户,
第一个\u名称\u用户,
华润工厂,
许可证,
事件名称,
事件日期从,
事件日期至
从dbo.EVENT\u CALENDAR\u EVENT
在对象上加入事件\u日历\u汽车\u CAL\u ID=CAL\u对象\u ID
在ID\u USER=EVENT\u USER\u ID上加入AA\u用户
其中(姓氏用户+“”+名字用户)如?和事件日期从>=?和事件日期到,您可以使用


您在查询中指定了列,那么为什么需要对它们进行计数呢?我需要在表的右上角显示类似结果的行数。当我使用I++时,我在生成表后获取结果,我可以向下使用它,但不能在顶部使用。因此我不知道如何显示它。我尝试了它,但它不起作用。您无法返回列数除非您计算行中的项目数,否则使用行计数。看起来这是工作
$row\u count=count($result->fetchAll(PDO::FETCH\u ASSOC));
,但当我使用它时,变量$result将发生变化,下一个表将不生成。您能帮我解决这个问题吗?@rubla尝试使用
$resultTemp=clone$result;
我使用的是
$resultTemp=clone$result;$row\u count=count($resultTemp->fetchAll(PDO::FETCH\u ASSOC));
我得到错误500。。。
$row_count = $result->rowCount();
$row_count = count($result->fetchAll(PDO::FETCH_ASSOC));