0

I have this code. Running it directly it is supposed to return 100. But with this code it returns 1. Do I use the ? wrong or why does it return just 1?


 <?php

require '../notWebsite/dbh.php';
session_start();
$userID = (int)$_SESSION['userID'];

$sqlCount = "SELECT COUNT(groupID) FROM savedbyuser WHERE userID = ?";
$stmt = mysqli_stmt_init($conn);

if(!mysqli_stmt_prepare($stmt, $sqlCount)) {
header("Location: ../GymnasieArbeteHemsida.php?error=countError");
 exit();
}
else {
mysqli_stmt_bind_param($stmt, "i", $userID);
mysqli_stmt_execute($stmt);

$count = mysqli_stmt_execute($stmt);
echo $count;
     exit();
}

mysqli_stmt_close($stmt);
mysqli_close($conn);



?>

MrCookie
  • 5
  • 3

1 Answers1

1

Hi as stated in manual https://www.php.net/manual/en/mysqli-stmt.execute.php

Returns TRUE on success or FALSE on failure.

so this

$count = mysqli_stmt_execute($stmt);
echo $count;

translates to

$count = true;
echo $count;
// print 1 

in manual focus on

Note:

When using mysqli_stmt_execute(), the mysqli_stmt_fetch() function must be used to fetch the data prior to performing any additional queries.

leads to https://www.php.net/manual/en/mysqli-stmt.fetch.php and so on...