Возвращение поля из mysql с использованием rowCount не работает

Я хочу, чтобы следующий код возвращал userID из mysql tblUser пользователя, если адрес электронной почты и пароль совпадали. В настоящее время ничего не возвращается

<?php

include 'config.inc.php';

// Check whether username or password is set from android
if(isset($_POST['email']) && isset($_POST['password']))
{
// Innitialize Variable
$result='';
$email = $_POST['email'];
$password = $_POST['password'];

// Query database for row exist or not
$sql = 'SELECT UserID FROM tblUser WHERE  email = :email AND password = :password';
$stmt = $conn->prepare($sql);
$stmt->bindParam(':email', $email, PDO::PARAM_STR);
$stmt->bindParam(':password', $password, PDO::PARAM_STR);
$stmt->execute();
if($stmt->rowCount())
{
$result="true" . UserID;
}
elseif(!$stmt->rowCount())
{
$result="false";
}

// send result back to android
echo $result;
}

?>

-1

Решение

Для большинства баз данных PDOStatement :: rowCount () не возвращает
количество строк, затронутых оператором SELECT
. Вместо этого используйте
PDO :: query () для выдачи оператора SELECT COUNT (*) с тем же
предикаты в качестве вашего предполагаемого оператора SELECT, затем используйте
PDOStatement :: fetchColumn (), чтобы получить количество строк, которые будут
быть возвращенным. Ваше приложение может затем выполнить правильное действие.

вместо этого вы могли бы сделать

      if($data = $stmt->fetch())
{
$result="true".$data['UserID'];
}
else
{
$result="false";
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]