このコードの何かが正しく動作しません。だからあなたの助けが必要です。PHP関数に問題があるようです。
私は外部ファイル内の関数を書かれている:
function userExists($conn, $user){
$sql = "SELECT COUNT(*) FROM user WHERE email = :email";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':email', $user);
$stmt->execute();
$results = $stmt->fetch(PDO::FETCH_ASSOC);
if(count($results) > 0):
return true;
else:
return false;
endif;
}
、私はここに、この関数を呼び出す:
if(!empty($_POST['email']) && !empty($_POST['password'])):
$email = $_POST['email'];
$password = $_POST['password'];
$records = $conn->prepare('SELECT id,username,email,password,active FROM user WHERE email = :email');
$records->bindParam(':email', $_POST['email']);
$records->execute();
$results = $records->fetch(PDO::FETCH_ASSOC);
if(userExists($conn, $email) === false){
echo 'False';
}else{
echo 'True';
}
endif;
しかし、出力は毎回真..です多分私が見ることができません木の木。結果は値を含んでいますので、あなたのクエリは値0を返しているので
'$ results'はオブジェクトです。 'count'は常にgt0です。' [] '表記を使用してカウント値を取得します。 –
count(results ['email'])> 0のようなものを使うべきですか? – Reebal
'print_r($ results)'を使用して、何が使えるかを見てください。 –