pdo计数不起作用

时间:2016-05-13 03:33:49

标签: sql pdo

我有一个页面,所有功能正在运行我现在唯一的问题是从数据库中获取记录..

Class.user.php

Public function data($count)
{
 $stmt=$this->db->prepare("SELECT COUNT(*) FROM login");
 $result=$this->db->prepare($count);
 $result->execute();
 $number_of_rows=$result->fetchColumn();
 }

的index.php

<table>
   <thead>
   <tr>
    <th>2014</th>
   </tr>
   </thead>

   <tbody>
       <?php
           $count="SELECT COUNT(*) FROM login";
      $crud->data($count);
        ?>

问题是它没有显示计数..

2 个答案:

答案 0 :(得分:2)

  1. 您正在编写与函数参数相同的查询,但也在函数本身内部。而你只是真的使用一个。这是无稽之谈。专注于您的方法以返回计数,不要将查询作为参数。
  2. 在这种情况下,
  3. prepare声明是没有意义的,因为你既不重用它也不绑定任何值。您可以直接query()直接。
  4. 关键词:你既没有输出也没有返回计数,所以非常期待它不会出现在任何地方。
  5. 这是一个理智的版本:

    public function getCount() {
        $result = $this->db->query('SELECT COUNT(*) FROM login');
        return $result->fetchColumn();
    }
    
    <tbody>
        <tr>
            <td>
                <?php echo $crud->getCount(); ?>
    

答案 1 :(得分:-3)

我想我通常会这样做link

$sql= "SELECT COUNT(*) FROM login";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$row =$stmt->fetchObject();

然后输出它你必须得到ECHO

<table>
     <tbody>
       <tr>
         <td>
           <?php echo $row['count'];?>
         </td>
       </tr>
     </tbody>
</table>