0

I tried to select number of users that is following any of my site member, but it keep returning 0 even when is not empty from database or it will show 1 when is empty

<?php
 $db_conn = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME,DB_USERNAME,DB_PASSWORD);
 $db_conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
      $followings = $db_conn->prepare("SELECT COUNT(*) FROM memberfollow WHERE following = :followMe");
      $followings->bindParam(":followMe", $_POST['username']);
      $followings->execute();
      $Numfollowing = $followings->rowCount();//this will return 0 when is empty and not empty
      $col = $followings->fetchColumn();// this will return 1 in all
  echo "FL".$Numfollowing."/".$col."<br/>";  
?>
Frank
  • 63
  • 1
  • 7

1 Answers1

0

You can write

    <?php
 $db_conn = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME,DB_USERNAME,DB_PASSWORD);
 $db_conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
      $followings = $db_conn->prepare("SELECT * FROM memberfollow WHERE following = :followMe");
      $followings->bindParam(":followMe", $_POST['username']);
      $followings->execute();
      $Numfollowing = $followings->rowCount();//this will return 0 when is empty and not empty
      $col = $followings->fetchColumn();// this will return 1 in all
  echo "FL".$Numfollowing."/".$col."<br/>";  
?>

This might solve your problem

Jahid Mahmud
  • 1,136
  • 1
  • 12
  • 32
  • **From the Manual:** _If the last SQL statement executed by the associated PDOStatement was a SELECT statement, some databases may return the number of rows returned by that statement. However, this behaviour is not guaranteed for all databases and should not be relied on for portable applications._ ANd it does not work in MYSQL – RiggsFolly Jul 04 '16 at 21:19